a6337dec-a91f-47e2-9fcc-74e0af13ce5e

Download as pdf or txt
Download as pdf or txt
You are on page 1of 28

OVERVIEW OF CODD’s RULE

 A relational database management system (RDBMS) is a


database management system (DBMS) that is based on the
relational model as introduced by E. F. Codd.
 A short definition of an RDBMS may be a DBMS in which
data is stored in the form of tables and the relationship
among the data is also stored in the form of tables.
 E.F. Codd, the famous mathematician has introduced 12 rules
(0-12)for the relational model for databases commonly known
as Codd's rules. The rules mainly define what is required for a
DBMS for it to be considered relational, i.e., an RDBMS.
 This rule states that all subsequent rules are based on
the notation that in order for a database to be
considered relational, it must use it’s relational
facilities exclusively to manage the database.
 All information in the database is to be
represented in one and only one way.
 All information in an RDB is represented as
values in the tables.
 This is achieved by values in column and rows of
tables.
 All information including table names, column
names and column data types should be available
in same table within the database.
 The basic requirement of the relational model.
Rule 2: GUARANTEED ACCESS RULE

 Each unique piece of data should be accessible by:table


name+primary key(row) + attribute(column).
 All data are uniquely identified and accessible via this
identity.
 Most RDBMS do not make the definition of the primary
key mandatory and are deficient to that extent .
 "Nullvalues (distinct from the empty
character string or a string of blank
characters and distinct from zero or any
other number) are supported in fully
relational DBMS for representing missing
information and inapplicable information in
a systematic way, independent of data type."
 NULLs may mean: Missing data, Not applicable
 Should be handled consistently - Not Zero or Blank
 Primary keys — Not NULL
 Expressions on NULL should give NULL.
 Separate handling of missing and/or non applicable
data.
 This is distinct to zero or empty strings
 The data base description is represented at the
logical level in the same way as-ordinary data,
so that authorized users can apply the same
relational language to its interrogation as they
apply to the regular data.
 The authorized users can access the database
structure by using common language i.e. SQL
 The structure description of the entire database
must be stored in an online catalog, known as
data dictionary, which can be accessed by
authorized users.
A relational system may support several
languages and various modes of terminal
use. However, there must be at least
one language whose statements are
expressible, per some well-defined
syntax, as character strings and that is
comprehensive in supporting all the
following items :
 Data Definition (create, insert, update)
 View Definition
 Data Manipulation (alter, delete, truncate)
 Integrity Constraints (primary key, foreign key, null
values)
 Authorization (GRANT , REVOKE)
 Transaction boundaries (begin, commit, rollback etc)

Every RDBMS should provide a language to


allow the user to query the contents of the
RDBMS and also manipulate the contents of
the RDBMS.
 View = ”Virtual table”, temporarily derived
from base tables.
 Example: If a view is formed as join of 3
tables, changes to view should be reflected in
base tables.
 Not updatable: View does not have NOT-
NULL attribute of base table.
 All views that are theoretically updateable are
also updateable by the system.
BELOW IS A TABLE NAMED ‘STUDENT‘.
RDBMS GIVES US THE FACILITY TO VIEW
ONLY SOME PARTICULAR FIELDS ACCORDING
TO OUR NEED WHICH ARE DIRECTLY
ACCESSED FROM BASE TABLES WHEN
REQUIRED.

name class Marks PUPIN


NUMBER
SONALI BCA-2 95 17231
TAMANNA BCA-2 90 17236
RAJWINDER BCA-2 90 17267
SAKSHI BCA-2 86 17893
SADHANA BCA-2 82 17453
TO VIEW ONLY THE NAME AND MARKS OF THE STUDENT TABLE
WE CAN WRITE THE FOLLOWING SYNTAX:

CREATE VIEW RECORD


AS SELECT NAME, MARKS FROM STUDENT;

VIEW IS CREATED.

SELECT * FROM RECORD;

name Marks

SONALI 95
TAMANNA 90
RAJWINDER 90
SAKSHI 86
SADHANA 82
 This rule states that insert, update, and delete
operations should be supported for any retrievable
set rather than just for a single row in a single
table.
 It also perform the operation on multiple row
simultaneously .
 There must be delete, updating and insertion at the
each level of operation. Set operation like union, all
union , insertion and minus should also supported.
 EXAMPLE:
Suppose if we need to change ID then it will reflect
everywhere automatically.
 Create table:
SQL>CREATE TABLE STUDENT_DATA NAME ROLL_NO CLASS
{
NAME VARCHAR 2(20),
ROLL_NO VARCHAR 2(10
),
CLASS VARCHAR 2(20);
};
INSERTION:
SQL>INSERT INTO STUDENT_DATA(‘&NAME’,&ROLL_NO,’&CLASS’);
SQL>ENTER VALUE FOR NAME:KIRAN
SQL>ENTER VALUE FOR ROLL_NO:4556
SQL>ENTER VALUE FOR CLASS:BCA
NAME ROLL_NO CLASS
SQL>/
KIRAN 4566 BCA
RAHUL 3455 BCA
 What is independence?
The ability to modify schema definition in on level without
affecting schema definition in the next higher level is called
data independence

 The ability to change the logical (conceptual) schema without


changing the External schema (User View) is called logical
data independence.
 EXAMPLE:

The addition or removal of new entities, attributes, or


relationships to the conceptual schema should be possible
without having to change existing external schemas or having
to rewrite existing application programs.
 The ability to change the physical schema without changing the
logical schema is called physical data independence.

 This is saying that users shouldn’t be concerned about how the


data is stored or how it’s accessed. In fact, users of the data
need only be able to get the basic definition of the data they
need.

 EXAMPLE:
A change to the internal schema, such as using different file
organization or storage structures, storage devices, or indexing
strategy, should be possible without having to change the
conceptual or external schemas.
 Data integrity refers to maintaining and assuring the
accuracy and consistency of data over its entire life cycle.

A minimum of the following two integrity constraints must


be supported:
1. Entity integrity: No component of a primary key is
allowed to have a null value. That is, no records can have
NULL values in its Primary Key attribute.

2. Relational integrity: For each distinct non-null foreign


key value in a relational database, there must exist a
matching primary key value from the same domain. In
other words, if a foreign key cannot have null values as
its component then it must refer a matching primary key
value with the same set of permitted values to accept
any new records.
 “THE RELATION DATA BASE MANAGEMENT HAS DISTRIBUTION
INDEPENDENCE”

 Distribution independence implies that user should not have to be


aware of whether a database is distributed at different sites or not.
 Application program and adhoc request are not affected by the
change in distribution of physical data. Application program will
work even if the programs and data are moved on different site

 The RDBMS may spread across the more one system or several
networks
 There should be no way to modify to database
structure other then through the multiple row data
base language(SQL).

Example:

A relational system has a low-level (single-record-at-a-time)


language, that low level cannot be used to subvert or bypass
the integrity Rules and constraints expressed in the higher
level relational language (multiple-records-at-a-time).”
Question 1

What is true regarding NULL value requirements confirming to


Codd rule?
 a. Null value should be zero.
b. Null value should be space.
c. Null value should represent missing information.
d. Either a or b.
Answer :
 c. Null value should represent missing information.
According to Codd rule, Null value should not be
any regular data like zero, spaces etc, but should
represent that data is not available.
Question 2

According to Codd rule, how one should be able to access


information about data structures like databases, tables etc.

 a. Should be directly accessible via all programming


languages.
b. Should be directly accessible via same query language
used for data manipulation (e.g. select, update statements
etc)
c. Should be directly accessible via XML
d. All of the above
Answer :
 b. Should be directly accessible via same query language
used for data manipulation. For example, SQL can be used
to retrieve information about the tables, the column types
etc.
Question 3

Which is true regarding multi row update?

 a. Multiple row updates should be prohibited.


b. Multiple row updates should be allowed only on
tables without null values.
c. Multiple row updates should be possible.
d. Multiple row updates should be allowed only on
integer data types

Answer :
 c. Multiple row updates should be possible.

You might also like