Dbms Ch3

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 23

THE RELATIONAL DATABASE MODEL

The relational database model was developed by E.F.Codd in 1970. The relational model is based on three well defined components: A logical data structure represented by a relational table where a data is stored. A set of integrity rules to enforce that the data remains consistent over time. A set of operations that define how the data are manipulated.

1.

2.

3.

The relational database model allows us to focus on the logical representation of the data and relationships rather than the physical storage details. Table Table plays an important role in relational model of the database. A table is two-dimensional structure composed of rows and columns. It is a logical construct and not a physical construct. A table is also called as relation in relational model terminology used by Codd.

A table is persistent relation, that is, a relation whose contents can be permanently stored for future use. The rows are also called records and columns are called fields

Characteristics of a Relational Table 1. A table is perceived as a two- dimensional structure consisting of rows and columns. Each table row (tuple) within the table represents a single entity occurrence within the entity set. Each table column represents an attribute, and each column has distinct name.

2.

3.

4.

Each row/column intersection represents a single data value All values in a column should be of the same data format. E.g. All integers or all float Each column has a specific range of values called as attribute domain. The order of rows and columns is not imp Each table must have an attribute or set of attributes which uniquely identifies a row

5.

6.

7.

8.

Keys

A key consists of one or more attributes that determine other attributes. Determination in the context of database If you know the value of an attribute A then you can get (determine) the value of attribute B. This means A Determines B. A B

Functional Dependence The attribute B is said to be functionally dependent on A if each value in column A determines one and only one value in column B. Stud_Num Stud_Phone

SuperKey An attribute or combination of attributes that uniquely identify each row in a table is called super key. Candidate Key A superkey without redundancies is called a candidate key. A minimal superkey is a candidate key Stud_Num Stud_Num, Stud_Lname

Stud_Num, Stud_Lname, Stud_FnameAll the above three are super keys but Stud_Num is the candidate key

Primary Key A candidate key which is selected to uniquely identify each row in the table It cannot contain null Null

An unknown attribute value A known but missing attribute vale A not applicable value

Secondary Key

An attribute or combination of attributes used for data retrieval purposes. E.g. Although a Cust_Id is the primary key users use Cust_Name and Cust_Lname to retrieve data such keys are called secondary keys. Foreign Key An attribute or combination of attributes in one table whose values must match the primary key in another table or be null E.g Vend_Code in Product Table Integrity Rules Entity Integrity All primary key entries are unique and no part of a primary key may be null

Use of Entity Integrity:


Each row will have a unique identity Foreign key values can properly reference primary key values

Referential Integrity A foreign key may have either a null entry-as long as it is not a tables primary key- or an entry that matches the primary key value in a table to which it is related. Every non-null foreign key value must reference an existing primary key value. Other Integrity Rule

Other integrity rules that can be enforced in the relational model are NOT NULL and UNIQUE constraints. NOT NULL constraint can be placed on a column to ensure that every row in the table has a value for that column. UNIQUE constraint is a restriction placed on a column to ensure that no duplicate values exist for that column. Relational Set Operators There are eight relational operators which explain how the data is manipulated theoretically. SELECT, PROJECT, JOIN, INTERSECT, UNION, DIFFERENCE, PRODUCT and DIVIDE

1.

UNION Union combines all rows from two tables, excluding duplicate rows. The tables should be union-compatible meaning: The two tables should have the same number of columns; columns should have same names and should have the same domains. Only then we can carry out union on the two tables. INTERSECT It gives only the rows that appear in both the tables. The tables have to be compatible to use the intersect operation on them.

2.

Data types of the columns should also match.


3.

DIFFERENCE It gives all the rows in one table that are not found in the other table. It subtracts one table from the other. Tables have to be union-compatible to give valid results. PRODUCT It gives all possible pair of rows and columns from the two tables. It is also known as Cartesian product. SELECT

4.

5.

It is also known as RESTRICT gives values for all rows found in a table. Or one can also select rows based on some condition.(horizontal subset) PROJECT It gives all values for selected attributes. It gives a vertical subset of a table. DIVIDE It requires the use of one single column table and another two column table.

6.

7.

Table with two columns is divided by table with single column the resulting table will contain those values where a value in the unshared column is associated with every value present in the table two.

Relationships in Relational Database There are three types of relationships between tables. 1: M -One to Many

1: 1- One to One M: N- Many to Many The 1: M Relationship Relationship between Painter and Painting is a 1: M relationship. One painter can paint many paintings and Each painting can be painted by a one and only one painter.

The One to Many relationships are implemented by putting the primary key of the 1 side table in the table on the many side as a foreign key as shown below:

Table Name: Painter Primary key: Painter_Num Painter_Nu Painter_Lnam Painter_Fname m e

Table Name: Painting Primary key: Painting_Num Foreign Key: Painter_Num Painting_Num Painting_Title Painter_ Num

The 1: 1 Relationship In this relationship one instance of an entity is related to only one other entity instance. E.g. one professor is a chairman of only one Department and one department can only have one chairman. The M: N relationship Consider the following example:

A student can take many classes and a class can have many students. This is a many to many relationship between STUDENT and CLASS table.

Logically the M: N relationship between the STUDENT and CLASS table is as follows: Table: STUDENT Stud_Num Stud_Fname Stud_Lname Class_Code

Table: CLASS Class_Code Stud_Num Class_Time Class_Room

The above table structures create a lot of redundancies. In the student table student data such as fname lname is repeatedly stored for every class that the student takes. Similarly in the class table every student taking a class generates a class record.

The above problems in the M: N relationship can be avoided by creating a third entity called as a composite entity or bridge entity. This entity is implemented by creating a third table called linking table. Table: STUDENT Primary key: Stud_Num Stud_Num Stud_Fname Stud_Lname

Table: CLASS Primary key: Class_Code Class_Code Class_Time Class_Room

Linking Table: Enroll Primary key: Class_Code+Stud_Num

Foreign key: Class_Code, Stud_Num Class_Code Stud_Num Grade

Enroll table must contain the primary key of both tables which are linked. Here in the new table they are the foreign keys. Also the combination of these primary keys is the primary key of the new table. The foreign key column may have repeated values but those are controlled redundancies. Controlled redundancy is required in a database for increasing the performance (processing speed) the database.

Data Dictionary It provides detailed information about all the tables in the database. It contains metadata-list of attributes and characteristics of the attributes. System Catalog contains data about all the objects in the database. Homonyms

Homonyms are the same names used to label different attributes. It should be generally avoided. Some relational software checks for homonyms and alerts the user or makes the corrections automatically. Synonyms The use of different names to identify the same object is called synonym.

Synonyms

You might also like