Fichas
Object-relational database
Fichas del conjunto (26)
- 1object-relational databaseAdvantages & Disadvantages
- 2Ease of useThe revision of any information has tables consisting of rows and columns is quite natural and therefore even first time users find it attractive.
- 3FlexibilityDifferent tables from which information has to be linked and extracted can be easily manipulated by operators such as project and join to give information in the form in which it is desired.
- 4PrecisionThe usage of relational algebra and relational calculus in the manipulation of he relations between the tables ensures that there is no ambiguity, which may otherwise arise in establishing the linkages in a complicated network type database.
- 5SecuritySecurity control and authorization can also be implemented more easily by moving sensitive attributes in a given table into a separate relation with its own authorisation controls
- 6Data IndependenceData independence is achieved more easily with normalization structure used in a relational database than in the more complicated tree or network structure.
- 7Data Manipulation LanguageThe possibility of responding to ad-hoc query by means of a language based on relational algebra and relational calculus is easy in the relational database approach. For data organized in other structure the query language either becomes complex or extremely limited in its capabilities.
- 8Disadvantages Machine performanceA major constraint and therefore disadvantage in the use of relational database system is machine performance if tables a very large.
- 9Schema ChangesIn an OODBMS based application modifying the schema by creating, updating or modifying a persistent class typically means that changes have to be made to the other classes in the application that interact with instances of that class. This typically means that all schema changes in an OODBMS will involve a system wide recompile.
- 10Language DependenceAn OODBMS is tied to a specific language via a specific API. This means that data in an OODBMS is typically only accessible from a specific language using a specific API, which is usually not the case with an RDBMS.
- 11Lack of Ad-Hoc QueriesSince it is currently not possible to duplicate the semantics of joining two tables by "joining" two classes then there is a loss of flexibility with an OODBMS. Thus the queries that can be performed on the data in an OODBMS is highly dependent on the design of the system.
- 12Object Columnsuser-defined types that make it possible to model real-world entities, such as customers and purchase orders, as objects in the database.
- 13Object ColumnsAn object column is a column in a table that is defined using an object type. (Objects stored in an object column are sometimes referred to as column objects.)
- 14Example of object columnThe following example creates a table named customers. It contains one object column named customer, which is defined using the t_customer object type:
CREATE TABLE customers (
customer t_customer
); - 15Object TablesAn object table is a table in which each row contains one object of a given object type. Such objects are known as row objects.
- 16Example of Object Table Create an object table using the CREATE TABLE OF statement.For example, the following statement creates an object table named customers2 based on the t_customer object type:
CREATE TABLE customers2 OF t_customer;
Attributes for the t_customer object type appear as columns in the table structure. - 17Atomic NULLAn object can be atomically NULL, or have all of its individual attributes set to NULL.
- 18An object can be atomically NULL(null object)INSERT INTO site VALUES (1, NULL);
Atomic NULLs cannot be updated and return the following error when an attempt is made at an update:
ORA-02309: atomic NULL violation. - 19An object can have attributes that are NULLINSERT INTO site VALUES (2, address_type(NULL, NULL, NULL));
Updates on its individual attributes can however be altered even if they are referenced in existing tables. Some rules do have to be followed for example, the cascade clause us required to propagate the changes if any dependent types or tables exist, otherwise an error will be returned.
ALTER TYPE address_type DROP attribute street
CASCADE INCLUDING TABLE DATA; - 20VARRYVARRY is a variable sized array which has ordered set of data elements of the same type.
- 21VARRAYVARRAY is treated as a single unit collection in SQL.
- 22VARRAY Individual elements can not be queried or updated.To change an element in a VARRAY, the whole VARRAY must be specified.
- 23VARRAY A CAST function can be used to transform scalar data types into an array.Object types can also be placed within VARRAY. The VARRAY structure is flattened out into separate rows with duplicate data.
- 24Nested TablesNested tables are ordered set of elements of the same data type.
- 25Nested Tables No upper limit for the number of elements and they can grow in size similar to a regular table.A nested table and its parent table can be created in a single statement. Child records in a Nested table are removed whenever a parent record is removed.
- 26Nested Tables Constraints can be enforced on columns within a nested table.Adding rows to a nested table is done by using an UN-nested query, however simple SELECT statements cannot be used to query nested tables. Data is presented in UN-normalised (flattened) form.
FINISH
Información
- Descripción
- All of the above was reproduced courtesy of Mohsan Ali.
- Creado por
- adamelvin786
- Visitas
- 48
- Valoración