هذا الموضوع عنobject oriented databaseوAn object-relational database (ORD)
تمفون بس اقروه انا طالبه دبلوم بجامعة الملك فيصل بالدمام وهذا بحثي بس اقروه لاني فاشله بالنجليزي وبس اشوف شي من الي قاله الدكتوراحطه هذا البحث بس الله يخليكم محاضرتي2.30
هو يبي عن هذولي الموظوعين خمس امثله لكل واحد مع المميزات والعيوب وفكره الي عنده اي اضافه يضيف
والله ادعيكلم طولت عليكم هذا الموضوع
object oriented database
In an object oriented database, information is represented in the form of objects as used in Object-Oriented Programming. When database capabilities are combined with object programming language capabilities, the result is an object database management system (ODBMS). An ODBMS makes database objects appear as programming language objects in one or more object programming languages. An ODBMS extends the programming language with transparently persistent data, concurrency control, data recovery, associative queries, and other capabilities.
Some object-oriented databases are designed to work well with object-oriented programming languages such as Java, C#, Visual Basic .NET, C++ and Smalltalk. Others have their own programming languages. ODBMSs use exactly the same model as object-oriented programming languages.
Object databases are generally recommended when there is a business need for high performance processing on complex data
The ideal solution would be to use an object-oriented database management system, which, as the name implies, is a database designed specifically to look at and work with object-oriented programs. Using an OODBMS would eliminate the need for converting data to and from its SQL form, as the data would be stored in its object representation.
Object-oriented databases are yet to come into widespread use. One of their main limitations is that switching from an SQL DBMS to a purely object-oriented DBMS means you lose the capability to create SQL queries, a tried and tested method for retrieving ad hoc combinations of data. For this reason, many programmers find themselves more at home with an object-SQL mapping system, even though most commercial object-oriented databases are able to process SQL queries to a limited extent.
However, object-oriented databases are beginning to gain popularity as programmers seek to improve on the performance of object-SQL mapping
History
Object database management systems grew out of research during the early to mid-1980s into having intrinsic database management support for graph-structured objects. The term "object-oriented database system" first appeared around 1985. Notable research projects included Encore-Ob/Server (Brown University), EXODUS (University of Wisconsin), IRIS (Hewlett-Packard), ODE (Bell Labs), ORION (Microelectronics and Computer Technology Corporation or MCC), Vodak (GMD-IPSI), and Zeitgeist (Texas Instruments). The ORION project had more published papers than any of the other efforts. Won Kim of MCC compiled the best of those papers in a book published by The MIT Press.[1]
Early commercial products included GemStone (Servio Logic, name changed to GemStone Systems), Gbase (Graphael), and Vbase (Ontologic). The early to mid-1990s saw additional commercial products enter the market. These included ITASCA (Itasca Systems), Jasmine (Fujitsu, marketed by Computer Associates), Matisse (Matisse Software), Objectivity/DB (Objectivity, Inc.), ObjectStore (Progress Software, acquired from eXcelon which was originally Object Design), ONTOS (Ontos, Inc., name changed from Ontologic), O2[2] (O2 Technology, merged with several companies, acquired by Informix, which was in turn acquired by IBM), POET (now FastObjects from Versant which acquired Poet Systems), and Versant Object Database (Versant Corporation). Some of these products remain on the market and have been joined by new products (see the product listings below).
Object database management systems added the concept of persistence to object programming languages. The early commercial products were integrated with various languages: GemStone (Smalltalk), Gbase (Lisp), and Vbase (COP). COP was the C Object Processor, a proprietary language based on C that pre-dated C++. For much of the 1990s, C++ dominated the commercial object database management market. Vendors added Java in the late 1990s and more recently, C#.
Starting in 2004, object databases have seen a second growth period when open source object databases emerged that were widely affordable and easy to use, because they are entirely written in OOP languages like Java or C#, such as db4o (db4objects) and Perst (McObject).
Advantages and disadvantages
Benchmarks between ODBMSs and relational DBMSs have shown that ODBMS can be clearly superior for certain kinds of tasks. The main reason for this is that many operations are performed using navigational rather than declarative interfaces, and navigational access to data is usually implemented very efficiently by following pointers.[3]
Critics of Navigational Database-based technologies, like ODBMS, suggest that pointer-based techniques are optimized for very specific "search routes" or viewpoints. However, for general-purpose queries on the same information, pointer-based techniques will tend to be slower and more difficult to formulate than relational. Thus, navigational appears to simplify specific known uses at the expense of general, unforeseen, and varied future uses. (However, it may be possible to apply generic reorderings and optimisations of pointer routes in some cases).
Other things that work against ODBMS seem to be the lack of interoperability with a great number of tools/features that are taken for granted in the SQL world including but not limited to industry standard connectivity, reporting tools, OLAP tools and backup and recovery standards. Additionally, object databases lack a formal mathematical foundation, unlike the relational model, and this in turn leads to weaknesses in their query support. However, this objection is offset by the fact that some ODBMSs fully support SQL in addition to navigational access, e.g. Objectivity/SQL++ and Matisse. Effective use may require compromises to keep both paradigms in sync.
In fact there is an intrinsic tension between the notion of encapsulation, which hides data and makes it available only through a published set of interface methods, and the assumption underlying much database technology, which is that data should be accessible to queries based on data content rather than predefined access paths. Database-centric thinking tends to view the world through a declarative and attribute-driven viewpoint, while OOP tends to view the world through a behavioral viewpoint. This is one of the many impedance mismatch issues surrounding OOP and databases.
Although some commentators have written off object database technology as a failure, the essential arguments in its favor remain valid, and attempts to integrate database functionality more closely into object programming languages continue in both the research and the industrial communities.
, WebSphere, PeopleSoft, and Siebel Systems CRM), and IBM's hardware divisions work closely with Oracle on performance-optimizing server-technologies (for example, Linux on zSeries). The two companies have a relationship perhaps best described as "coopetition". Niche commercial competitors include Teradata (in data warehousing and business intelligence), Software AG's Adabas, Sybase, and IBM's Informix, among many others. An object-relational database (ORD) or object-relational database management system (ORDBMS) is a relational database management system that allows developers to integrate the database with their own custom data types and methods. The term object-relational database is sometimes used to describe external software products running over traditional DBMSs to provide similar features; these systems are more correctly referred to as object-relational mapping systems.
Whereas RDBMS or SQL-DBMS products focused on the efficient management of data drawn from a limited set of data types (defined by the relevant language standards), an object-relational DBMS allows software developers to integrate their own types and the methods that apply to them into the DBMS. The goal of ORDBMS technology is to allow developers to raise the level of abstraction at which they view the problem domain
In an RDBMS, it would be fairly common to see SQL statements like this:
CREATE TABLE Customers (
Id CHAR(12) NOT NULL PRIMARY KEY,
Surname VARCHAR(32) NOT NULL,
FirstName VARCHAR(32) NOT NULL,
DOB DATE NOT NULL
);
SELECT InitCap(Surname) || ', ' || InitCap(FirstName)
FROM Customers
WHERE Month(DOB) = Month(getdate())
AND Day(DOB) = Day(getdate())
Most current SQL databases allow the creation of custom functions, which would allow the query to be expressed as:
SELECT Formal(Id)
FROM Customers
WHERE Birthday(Id) = Today()
In an object-relational database, one might see something like this, where the data types and expressions such as BirthDay() are user-defined.
CREATE TABLE Customers (
Id Cust_Id NOT NULL PRIMARY KEY,
Name PersonName NOT NULL,
DOB DATE NOT NULL
);
SELECT Formal( C.Name )
FROM Customers C
WHERE BirthDay ( C.DOB ) = TODAY;
Another advantage to the object-relational model is that the database can make use of the relationships between data to easily collect related records. In an address book application, an additional table would be added to the ones above to hold zero or more addresses for each user. Using a traditional RDBMS, collecting information for both the user and their address requires a "join":
SELECT InitCap(C.Surname) || ', ' || InitCap(C.FirstName), A.city
FROM Customers C, Addresses A
WHERE A.Cust_Id=C.Id -- the join
AND A.city="New York"
The same query in an object-relational database is much simpler:
SELECT Formal( C.Name )
FROM Customers C
WHERE C.address.city="New York" -- the linkage is 'understood'
Oracle database in the market
Competition
In the market for relational databases, Oracle competes against commercial products such as IBM's DB2 UDB and Microsoft SQL Server. Oracle and IBM tend to battle for the mid-range market (especially on UNIX and Linux platforms), while Microsoft tends to compete in the low-end market (on Microsoft Windows platforms). However, since they share many of the same customers, Oracle and IBM tend to support each other's products in many middleware and application categories (for example
Increasingly, the Oracle database products compete against open-source relational databases, particularly PostgreSQL, Firebird, and MySQL. Oracle acquired Innobase, supplier of the InnoDB codebase to MySQL, in part to compete better in the open source market. Database products developed on the basis of the open-source model generally cost significantly less to acquire than Oracle databases. EnterpriseDB, based on PostgreSQL, has recently made inroads by proclaiming that its product delivers Oracle compatibility features at a much lower price.
Pricing
Oracle database software comes at a cost. As of March 2006, the Enterprise Edition sells at a list price of US$40,000 per machine processor. Standard Edition comes cheaper - $15,000 per processor (it can run on up to 4 processors but has fewer features than Enterprise Edition — it lacks proper parallelization, etc; but remains quite suitable for running medium-sized applications). Standard ONE edition sells even more cheaply - $5000 per processor (but limited to 2 CPUs). Standard Edition ONE sells on a per-seat basis, and costs $149 per user, with a 5-user minimum. Oracle Corporation usually sells the licenses with an extra 22% cost for support and upgrades (access to MetaLink - Oracle Corporation's support site) which customers need to renew annually.
Oracle Express Edition (Oracle XE), an addition to the Oracle database product family (beta version released in 2005, production version released in February 2006), offers a free version of the Oracle RDBMS, but one limited to 4 GB of user data and to 1 GB of RAM. XE will use no more than one CPU and lacks an internal JVM.
For exact pricing calculations see the Oracle price list, but telephoning a sales representative can pay off because the prices can vary greatly depending on who does the buying.
As computers running Oracle often have eight or more processors, the software price can rise into the hundreds of thousands of dollars. The total cost of ownership exceeds this, as Oracle databases usually require experienced and trained database administrators to do the set-up properly. Because of the product's large installed base and available training courses, Oracle specialists in some areas have become a more abundant resource than those for more exotic databases. Oracle frequently provides special training offers for database-administrators.
On Linux, note that Oracle's certified configurations include mostly commercial Linux distributions (RedHat Enterprise Linux 3 and 4, SuSE SLES8 and 9, Asianux) which can cost in a range from a few hundred to a few thousand USD per year (depending on processor-architecture and the support-package purchased). One can avoid paying for those distros by using free alternatives such as any RedHat Enterprise Linux clones (such as CentOS or White Box). Oracle can also run reliably on unsupported distributions, as installation instructions on this website suggest.
FEATURES AND BENEFITS
Maximize Preferred Supplier Savings
Create and enforce better agreements, enforce preferred supplier use in every requisition, and set policies for services spend approval.
Eliminate Over-Billing and Overruns
Eliminate over-billing with comprehensive invoice matching and reconciliation, lower processing costs through supplier collaboration, and ensure service delivery and compliance with deliverable tracking.
Create Visibility into Services Spending
Oversee the entire services procurement cycle, measure supplier and contingent labor performance, and achieve a complete view of services and goods spending
is a southern constellation which was first introduced by Nicolas Louis de Lacaille under the name Fornax Chemica (Latin for chemical furnace). The Fornax Dwarf galaxy lies in Fornax.
The Hubble Ultra Deep Field is located within the constellation.
At a meeting of the Royal Astronomical Society in Britain, a team from University of Queensland described 40 unknown "dwarf" galaxies in this constellation.
They also described Fornax as being "on Earth's doorstep", because α Fornacis is only about 46 light-years away.
Follow-up observations with the Hubble Space Telescope and the European Southern Observatory's Very Large Telescope revealed that Ultra Compact Dwarfs are much smaller than previously known dwarf galaxies, about 120 light-years across.
"Tens of millions of stars are squashed into what is a tiny volume by galaxy standards," the observatory said in a statement.
The Fornax Cluster, a small cluster of galaxies lies primarily in the constellation Fornax.
In object-oriented (OO) programming, programming objects represent real-world objects. To illustrate, consider the example of an address book, which contains listings of people along with zero or more phone numbers and zero or more addresses. In object-oriented terms this would be represented by a "person object" with "slots" (fields, members, instance variables etc.) to hold the data that make up this listing: the person's name, a list (or array) of phone numbers, and a list of addresses.
The crux of the problem is in translating those objects to forms which can be stored in files or databases, and which can later be retrieved easily while preserving the properties of the objects and their relationships; these objects can then be said to be persistent. Historically, there have been several approaches to solving this problem.
An object-relational database (ORD) or object-relational database management system (ORDBMS) is a relational database management system that allows developers to integrate the database with their own custom data types and methods. The term object-relational database is sometimes used to describe external software products running over traditional DBMSs to provide similar features; these systems are more correctly referred to as object-relational mapping systems.
Whereas RDBMS or SQL-DBMS products focused on the efficient management of data drawn from a limited set of data types (defined by the relevant language standards), an object-relational DBMS allows software developers to integrate their own types and the methods that apply to them into the DBMS. The goal of ORDBMS technology is to allow developers to raise the level of abstraction at which they view the problem domain
The solution
Many packages have been developed to take the strain of developing object-relational mapping systems from programmers.
To O/R map or not To O/R map - Different O/R mapping tools have completely excluded each others different approaches to object-oriented programming and will highly affect your design. It really matters if you will use Entity(Chen/Yourdon) approach or Domain model(Fowler/Evans) approach.
Object-Relational systems attempt to solve this problem by providing libraries of classes which are able to do this mapping automatically. Given a list of tables in the database, and objects in the program, they will automatically map requests from one to the other. Asking a person object for its phone numbers will result in the proper query being created and sent, and the results being "magically" translated directly into phone number objects inside the program. [1]
From a programmer's perspective, the system should look like a persistent object store. One can create objects and work with them as one would normally, and they automatically end up in the relational database.
In practice, however, things are never quite that simple. All O/RM systems tend to make themselves visible in various ways, reducing to some degree one's ability to ignore the database. Worse, the translation layer can be slow and inefficient (notably in terms of the SQL it writes), resulting in programs that are slower and use more memory than code written "by hand."
A number of O/RM systems have been created over the years, but their effect on the market seems mixed. Considered one of the best was NeXT's Enterprise Objects Framework (EOF), but it failed to have a lasting impact on the market, chiefly because it was tightly tied to NeXT's entire toolkit, OpenStep. It was later integrated into NeXT's WebObjects, the first object-oriented Web Application Server. Since Apple Computer bought NeXT in 1997, EOF provides the technology behind the company's e-commerce Web site, the .Mac services and the iTunes Music Store. Apple provides EOF in two implementations: the Objective-C implementation that comes with the Apple Developers Tools and the Pure Java implementation that comes in WebObjects 5.2.
Upon opening any developer journal or magazine these days, you will see advertisements for so-called post-SQL databases such as Caché. These are identical to the usual object-relational mapping utilities except they are built on their own proprietary database software to maximise performance for both the object-oriented and relational view of the system.
An alternative approach is being taken with technologies such as RDF and SPARQL, and the concept of the "triplestore". RDF is a serialization of the subject-predicate-object concept, RDF/XML is an XML representation of it, SPARQL is an SQL-like query language, and a triplestore is a general description of any database that deals with a triple.
More recently, a similar system has started to evolve in the Java world, known as Java Data Objects (JDO). Unlike EOF, JDO is a standard, and several implementations are available from different vendors. The Enterprise Java Beans 3.0 (EJB3) specification also covers this same area. There has been standards conflict between the two standards bodies in terms of pre-eminence. JDO has several commercial implementations, while EJB 3.0 is still under development. However, most recently another new standard has been announced by JCP to bring these two standards together and make the future standard something that works with various Java architectures. Another example to mention is Hibernate (Java), the most used framework of O/R mapping in the Java world that has inspired the EJB3 specification.
In the Web framework Ruby on Rails, object-relational mapping plays a central role and is handled by the ActiveRecord wrapping tool. A similar role is played by the DBIx::Class module for the Perl based Catalyst (software) framework, although many other choices are possible.
FEATURES AND BENEFITS
Maximize Preferred Supplier Savings
Create and enforce better agreements, enforce preferred supplier use in every requisition, and set policies for services spend approval.
Eliminate Over-Billing and Overruns
Eliminate over-billing with comprehensive invoice matching and reconciliation, lower processing costs through supplier collaboration, and ensure service delivery and compliance with deliverable tracking.
Create Visibility into Services Spending
Oversee the entire services procurement cycle, measure supplier and contingent labor performance, and achieve a complete view of services and goods spending
poet is a person who writes poetry. This is usually influenced by a cultural and intellectual tradition, and written in a specific language. Some consider the best poetry to be, to some extent, timeless, and to address issues common to all humanity; others are more absorbed by its particular and ephemeral qualities.
In the English language, poets generally considered to be of the most influential and profound include Chaucer, William Shakespeare, John Milton, Wordsworth, John Keats, W. B. Yeats, T. S. Eliot and Ezra Pound. American poet Walt Whitman was one of the first poets to write a kind of poetry now called free verse, though French poet Jules Laforgue was also writing in free verse around the same time as Whitman. Free verse differed from traditional verse because it was not bound by rhyme or meter. In the Western tradition, Homer, Virgil, Dante, Fernando Pessoa and Goethe round out a basic list. In Chinese, Li Bai, Du Fu and other Tang dynasty poets produced some of the oldest poetry in the world, which is still read today. Basho and Omar Khayyám complete one defensible canon. As the very definition of a canon is political and personal, and the notion of poetry itself is fluid and subject to change, complete objectivity is impossible. Relying on numerous inclusionist lists is a possible, partial solution
Informix is a family of relational database management system (RDBMS) products from IBM, acquired in 2001 from a company (also called Informix or Informix Software) which dates its origins back to 1980.
The Informix database management system (DBMS) was conceived and designed by Roger Sippl in the late 1970s. Informix was founded in 1980, went public in 1986, and for a period during the 1990s Informix was the second most popular database system, after Oracle. Success did not last very long, however, and by 2000 a series of management blunders had significantly weakened the company financially.
In 2001 IBM, prompted by a suggestion from Wal-Mart (Informix's largest customer), purchased Informix.[1] IBM has long-term plans for both Informix and DB2, with both databases sharing technology with each other. In early 2005, IBM released version 10 of Informix IDS.
In 2006 there has been a major shift in IBM's data server strategy towards IDS. The displacement of Janet Perna as head of IBM's Information Management Division, the renaming of this division from DB2 Information Management to Information Management, continous double-digit license growth for IDS and IBM's massive investments in IDS technology prove this.
IDS is now a strategic data server inside IBM's Information Management portfolio and is the preferred choice for the following type of environments:
• Critical, high volume OLTP systems requiring outstandig availability, scalability and reliablity
• Mass deployments with thousands of distributed database instances
• Embedded Solutions requiring a DBMS running in stealth mode
• Distributed Systems requiring sophisticated, well integrated replication solutions
• Applications requiring excellent extensibility features inside the DBMS
• Environments with limited DBA resources
The next release of IDS, codename Cheetah, is planned to be released in the middle of 2007 and will deliver exiting new functionality which will further transform IDS into an Administration Free Zone.
PostgreSQL is a Free object-relational database server (database management system), released under a flexible BSD-style license. It offers an alternative to other database systems. Similarly to other open-source projects such as Apache, Linux, and MediaWiki, PostgreSQL is not controlled by any single company, but relies on a global community of developers and companies to develop it.
PostgreSQL's unusual-looking name makes some readers pause when trying to pronounce it, especially those who pronounce SQL as "sequel". PostgreSQL's developers pronounce it /poːst ɡɹɛs kjuː ɛl/. (Audio sample, 5.6k MP3). It is also common to hear it abbreviated as simply "postgres", which was its original name. The name refers to the project's origins as a "post-Ingres" database, the original authors having also developed the Ingres database
An Oracle database consists of a collection of data managed by an Oracle database management system. Popular generic usage also uses the term to refer to the Oracle DBMS management software, but not necessarily to a specific database under its control.
One can refer to the Oracle database management system unambiguously as Oracle DBMS or (since it manages databases which have relational characteristics) as Oracle RDBMS.
Oracle Corporation itself blurs the very useful distinction between:
1. data managed by an Oracle RDBMS
2. an Oracle database, and
3. the Oracle RDBMS software itself
when it refers nowadays to the Oracle RDBMS (the software it sells for the purpose of managing databases) as the Oracle Database. The distinction between the managed data (the database) and the software which manages the data (the DBMS / RDBMS) relies, in Oracle's marketing literature, on the capitalisation of the word database.
Oracle Corporation produces and markets the Oracle DBMS, which many database applications use extensively on many popular computing platforms.
Larry Ellison and his friends and former co-workers Bob Miner and Ed Oates - who had started a consultancy called Software Development Laboratories (SDL) - developed the original Oracle DBMS software. They called their finished product Oracle after the code name of a CIA-funded project they had worked on while previously employed by Ampex.
انا انطركم
مع تحيات زبيريه