Вы находитесь на странице: 1из 2

What is an Oracle database?

Oracle is an object-relational hybrid database - a relational database with adde d objectoriented features - and, since Oracle 10g, a grid-enabled database - the ability to scale across multiple inexpensive servers to provide more processing resourc es. Each release of the Oracle database brings new features to improve scalability, reliability, performance and availability. We'll be examining some of these new features in later Oracle tutorials. What is a relational database? A British engineer Ted Codd working for IBM elucidated the theory of relational databases "A Relational Model of Data for Large Shared Data Banks" in the 1970s whilst working for IBM. At the core of this relational model is the concept of n ormalisation which is the separation of the logical and physical data models. Th is enables you to "see" the database in a completely different way to its underl ying structure. The importance of this separation is that it makes relational databases extremel y flexible unlike, for example, hierarchical databases. This flexibility means t hat either layer can be changed without affecting the other. With earlier datab ase models, changes in business requirements requiring new data structures neces sitated the complete re-design of the database. A relational database, therefore, can be regarded as containing a set of 2-dimen sional tables ("relations") with each table comprising rows ("tuples") and colum ns ("domains"). Relationships between database tables are created when one table has a column with the same meaning as a column in another table. The actual val ues of the columns are irrelevant but they must refer to/mean the same thing. Let's take the example of a very simple database with just 2 tables (tuples): employees departments the employees table has just three columns : employee_id employee_ name department_id the department table has just two columns : department_id department_name There is a relationship between these two tables via the department_id column in each table. The department_id column in the employees table relates to the dep artment_id column in the departments table. This enables you to assign employees to a department and determine which employees work for which department. Now that we can say that these two tables are related, the other part of relatio nal database model - relational calculus (which is essentially set theory) enabl es relations (i.e. database tables) to be combined in various ways: the union of 2 relations results in a set of data containing those elements that exist in one or other relation (or both relations); the result of the join (the intersection) of 2 relations is the set of elem

ents that exist in both relations; the exclusive "OR" produces the set of items that are in either of the relat ions but not both an outer-join is the same as the join but also includes elements from one or both relations that are not in the other (depending on whether a full outer-joi n or a left or right outer join is performed) relations can also be subtracted from each other leaving the set of elemen ts that were in the first relation but not the 2nd Let's continue the first of our Oracle tutorials with a few examples, using the following data: Employees Employee_Id Employee_Name 1 Mike Jones 3 2 Phil Rogers 6 3 Dave Tanner 3 4 Paul Johnson 2 5 Raj Patel 6 Qamar Aziz 5 Departments Department_Id Department_Name 1 Marketing 2 Sales 3 IT Joining employees and departments would produce the following result: Department_Id Department_Name Employee_Id Employee_Name 1 Marketing 5 Raj Patel 2 Sales 4 Paul Johnson 3 IT 3 Dave Tanner The number and data types of the columns must be the same for the union of relat ions so the departments table requires an extra column. Department_Id

Вам также может понравиться