Codd’s 12 Rules (13 Rules)

Neso Academy
6 Oct 202215:51

Summary

TLDRThis presentation delves into Codd's 12 Rules for defining the requirements of a Relational Database Management System (RDBMS). The rules, proposed by Edgar Frank Codd, are numbered from 0 to 12, hence the name. They ensure that an RDBMS manages databases through relational capabilities, represents all information explicitly, guarantees access to every datum, systematically treats null values, and maintains physical and logical data independence. The rules also mandate the use of a comprehensive data sublanguage, support for view updating, and uphold integrity constraints. Lastly, they address the importance of distribution independence and non-subversion to ensure the system's integrity.

Takeaways

  • 📚 The presentation introduces 'Codd's 12 Rules', a set of 13 foundational principles for a database management system (DBMS) to be considered relational, proposed by Edgar Frank Codd.
  • 🔑 Rule 0, the 'Foundation Rule', asserts that a relational DBMS must manage databases entirely through its relational capabilities.
  • 📊 Rule 1, the 'Information Rule', states that all information in a relational database should be represented explicitly at the logical level in a single way, through table values.
  • 🔍 Rule 2, the 'Guaranteed Access Rule', ensures that every atomic value in the database can be accessed using the table name, primary key, and column name.
  • 🚫 Rule 3 addresses the 'Systematic Treatment of Null Values', emphasizing that nulls represent missing or inapplicable information and must be treated consistently across data types.
  • 📖 Rule 4, the 'Dynamic Online Catalog', requires that the database description and user authorization details are logically represented and accessible.
  • 💬 Rule 5, the 'Comprehensive Data Sublanguage Rule', mandates that at least one language for the DBMS must support data definition, view definition, and transaction operations.
  • 🔄 Rule 6, the 'View Updating Rule', ensures that updates to views are reflected in the underlying tables, maintaining data consistency.
  • 🔧 Rule 7, the 'Relational View of Data Access', allows for high-level operations such as insert, update, and delete to be performed not just at the database level but also through application programs.
  • 🏭 Rule 8, 'Physical Data Independence', ensures that application programs remain unaffected by changes in the physical storage or access methods of the database.
  • 🌐 Rule 9, 'Logical Data Independence', guarantees that changes to the database schema do not impact the application logic, maintaining logical separation.
  • 🔒 Rule 10, 'Integrity Independence', stipulates that integrity constraints should be definable and stored in the DBMS, not in application programs.
  • 🌐 Rule 11, 'Distribution Independence', highlights the importance of data distribution across different locations for redundancy and disaster recovery, without user awareness of the distribution.
  • 🛡️ Rule 12, the 'Non-Subversion Rule', asserts that a low-level language, if present, must not be used to bypass the integrity constraints defined in the higher-level relational language.

Q & A

  • What are Codd's 12 Rules for a database management system to be considered relational?

    -Codd's 12 Rules, also known as the 12 Commandments, are a set of 13 rules that define the requirements for a database management system (DBMS) to be considered a relational database management system (RDBMS). These rules were proposed by Edgar Frank Codd, the pioneer of the relational model for databases.

  • Why are there 13 rules in Codd's 12 Rules?

    -There are 13 rules in Codd's 12 Rules because the rules are numbered from 0 to 12, with the first rule being rule number zero and the last rule being rule number 12.

  • What is the significance of Rule Number Zero in Codd's 12 Rules?

    -Rule Number Zero, the foundation rule, states that a system claiming to be an RDBMS must be able to manage databases entirely through its relational capabilities, closely associating with the mathematical concept of relations.

  • What does the Information Rule (Rule Number One) imply for a relational database?

    -The Information Rule implies that all information in a relational database is represented explicitly at the logical level and in exactly one way, which is by values in the table.

  • Can you explain the Guaranteed Access Rule (Rule Number Two)?

    -The Guaranteed Access Rule states that each atomic value in a relational database must be logically accessible using a combination of table name, primary key, and column name.

  • How does Rule Number Three address null values in a relational database?

    -Rule Number Three, the Systematic Treatment of Null Values, states that null values, representing missing or inapplicable information, must be treated systematically by the RDBMS and must be independent of the data type.

  • What is the purpose of the Dynamic Online Catalog (Rule Number Four)?

    -The Dynamic Online Catalog ensures that the database description is represented at the logical level and deals with authorization, determining what data users can access.

  • What capabilities must a relational system support according to the Comprehensive Data Sublanguage Rule (Rule Number Five)?

    -The Comprehensive Data Sublanguage Rule requires that there must be at least one language supported by the system that can express data definition, view definition, data manipulation, integrity constraints, authorization, and transaction operations.

  • What does the View Updating Rule (Rule Number Six) require for a relational database?

    -The View Updating Rule mandates that any updates made to a view in an RDBMS should also update the underlying table or relation, as they both refer to the same data item in memory.

  • What is the importance of the Physical Data Independence (Rule Number Eight)?

    -Physical Data Independence ensures that application programs and terminal activities remain logically unimpaired when changes are made to the storage representations or access methods at the database level.

  • How does the Integrity Independence (Rule Number Ten) differ from Integrity constraints in application programs?

    -Integrity Independence requires that all integrity constraints specific to a relational database must be definable and stored in the relational data sublanguage, not in the application programs, ensuring that the constraints are managed at the DBMS level.

  • What does the Non-Subversion Rule (Rule Number Twelve) prevent in a relational system?

    -The Non-Subversion Rule ensures that if a relational system has a low-level language for single-record operations, it cannot be used to subvert or bypass the integrity rules and constraints expressed in the higher-level relational language.

Outlines

00:00

📚 Introduction to Codd's 12 Rules for RDBMS

The paragraph introduces Codd's 12 rules, which are actually 13 foundational guidelines for a database management system (DBMS) to be considered relational. These rules, numbered from 0 to 12, were proposed by Edgar Frank Codd, the pioneer of the relational model for databases. The first rule, the foundation rule, mandates that a relational DBMS must manage databases entirely through relational capabilities, closely associated with the mathematical concept of relations.

05:00

🔑 Key Concepts of Codd's Rules

This section delves into the specifics of Codd's rules, starting with the Information Rule (Rule 1), which states that all information in a relational database must be represented explicitly at the logical level through table values. The Guaranteed Access Rule (Rule 2) ensures that every atomic value in the database is accessible via the table name, primary key, and column name. The paragraph also discusses the systematic treatment of null values (Rule 3), emphasizing their independence from data types and the need for the DBMS to support them.

10:02

🌐 Dynamic Online Catalog and Comprehensive Data Sub Language

Paragraph 3 continues the exploration of Codd's rules, focusing on the Dynamic Online Catalog (Rule 4), which relates to the logical representation of the database description and user authorization. It then discusses the Comprehensive Data Sub Language Rule (Rule 5), which requires that the DBMS support at least one language with standard syntax for data definition, view definition, data manipulation, integrity constraints, authorization, and transaction operations.

15:02

🔄 View Updating and Higher-Level Data Operations

The paragraph discusses the View Updating Rule (Rule 6), which asserts that updates to a view should also update the underlying table since they reference the same data. It also covers the possibility of higher-level insert, update, and delete operations (Rule 7), which should be supported by the DBMS without direct database access from the application program. This rule is also known as the relational operation rule.

🔒 Data Independence and Integrity

This section addresses the importance of Data Independence (Rules 8 and 9), where changes in data storage or access methods should not impact application programs or terminal activities. It also highlights Integrity Independence (Rule 10), which states that integrity constraints must be definable and stored within the relational data sub language of the DBMS, ensuring they are enforced at the database level, not in application programs.

🌐 Distribution Independence and Non-Subversion

The final paragraph covers Distribution Independence (Rule 11), which suggests that data should be distributed across different locations for redundancy and disaster recovery, without the end user's awareness. It concludes with the Non-Subversion Rule (Rule 12), which prohibits the use of low-level languages to bypass or subvert the integrity rules defined in the higher-level relational language.

🎉 Conclusion of Codd's 12 Rules Presentation

The presentation concludes by summarizing Codd's 12 rules and their significance in defining the requirements for a DBMS to be classified as a relational database management system. The speaker expresses gratitude for the audience's attention and wraps up the session with a musical note and applause.

Mindmap

Keywords

💡Relational Database Management System (RDBMS)

RDBMS is a database management system that is based on the relational model of data, as proposed by E.F. Codd. It organizes data into one or more tables with rows and columns, and it manages relationships between these tables. In the video, the concept of RDBMS is central as it discusses the 12 rules that a system must satisfy to be considered relational. The script emphasizes that all information in an RDBMS is represented explicitly at the logical level, typically through values in tables.

💡Edgar Frank Codd

Edgar Frank Codd, often referred to as the 'father of RDBMS,' was an English computer scientist who introduced the relational model for database management. His work laid the foundation for modern database systems. The video script mentions Codd as the proposer of the 12 rules that define the requirements for a DBMS to be considered relational.

💡Atomic Value

An atomic value is a data item that is indivisible in nature, meaning it cannot be further broken down into smaller parts. In the context of the video, the Guaranteed Access Rule (Rule 2) states that each atomic value in a relational database must be accessible through a combination of table name, primary key, and column name, highlighting the importance of atomicity in data retrieval.

💡Null Values

Null values represent missing or inapplicable information in a database. The video script explains that null values are distinct from empty strings or zero and must be treated systematically by the RDBMS. Rule 3, the Systematic Treatment of Null Values, emphasizes that these values should be independent of the data type and must be supported by the RDBMS.

💡Dynamic Online Catalog

The dynamic online catalog refers to the database description that is maintained at the logical level, which includes information about the structure of the database and the authorization for user access. The video script mentions this in the context of Rule 4, which ensures that the catalog is up-to-date and accessible, allowing for dynamic interaction with the database.

💡Data Sublanguage

A data sublanguage is a specialized computer language used to interact with a database, including operations for data definition, manipulation, and retrieval. The video discusses Rule 5, which mandates that an RDBMS must support at least one language with a standard syntax for various database operations, emphasizing the comprehensive nature of the sublanguage.

💡View Updating

View updating refers to the ability to modify the data in a view, which should also update the underlying table or relation in the database. Rule 6 in the video script highlights this concept, stating that any changes made to a view should reflect in the actual data stored in the RDBMS, as views are virtual tables that derive their data from one or more base tables.

💡Physical Data Independence

Physical data independence ensures that changes in the physical storage of data, such as changes in storage representations or access methods, do not affect the application programs or terminal activities. Rule 8 in the video script explains that the system should maintain logical unimpairment of application programs even when there are modifications at the physical level.

💡Logical Data Independence

Logical data independence means that changes to the logical structure of the database, such as alterations to the base tables, should not impact the application programs or terminal activities. Rule 9 in the video script discusses this concept, emphasizing that the system should maintain logical unimpairment even when logical changes are made to the database schema.

💡Integrity Independence

Integrity independence is the principle that integrity constraints should be defined and enforced within the RDBMS itself, rather than in the application programs. Rule 10 in the video script explains that all integrity constraints must be definable and storable in the RDBMS's catalog, ensuring that they are managed at the database level and not dependent on application logic.

💡Distribution Independence

Distribution independence, as discussed in Rule 11 of the video script, refers to the ability of an RDBMS to distribute data across multiple locations without the end user being aware of this distribution. This rule ensures that the system can provide redundancy and protection against failures while maintaining the illusion of a single data source for the user.

💡Non-Subversion Rule

The non-subversion rule, or Rule 12, states that if an RDBMS includes a low-level language for single-record operations, this language cannot be used to bypass or subvert the integrity rules and constraints defined in the higher-level relational language. The video script explains this as a safeguard to ensure that all operations, whether performed at a high or low level, adhere to the system's integrity constraints.

Highlights

Introduction to Codd's 12 Rules for defining the requirements of a Relational Database Management System (RDBMS).

Explanation of why the term 'Codd's 12 Rules' is used despite there being 13 rules, due to numbering from 0 to 12.

Rule 0: Foundation Rule - RDBMS must manage databases entirely through relational capabilities.

Rule 1: Information Rule - All information in a relational database is represented at the logical level by values in tables.

Rule 2: Guaranteed Access Rule - Every atomic value in a relational database is accessible via table name, primary key, and column name.

Rule 3: Systematic Treatment of Null Values - RDBMS must handle null values in a systematic way, independent of data type.

Rule 4: Dynamic Online Catalog - The database description is represented at the logical level, including user authorization.

Rule 5: Comprehensive Data Sublanguage Rule - At least one language supported by the RDBMS must be able to express data definition, view definition, and other operations.

Rule 6: View Updating Rule - Any update to a view should also update the underlying table or relation.

Rule 7: High-Level Insert, Update, and Delete - RDBMS should allow high-level operations for data manipulation.

Rule 8: Physical Data Independence - Application programs should remain logically unimpaired by changes in the storage or access methods.

Rule 9: Logical Data Independence - Changes to the base table should not affect the application programs or terminal activities.

Rule 10: Integrity Independence - Integrity constraints must be definable in the relational data sublanguage and stored in the catalog.

Rule 11: Distribution Independence - Data distribution across different locations should be transparent to the end user.

Rule 12: Non-Subversion Rule - A low-level language, if present, cannot be used to bypass the integrity rules expressed in the higher-level relational language.

Conclusion - Codd's 12 Rules define the essential requirements for a DBMS to be considered relational.

Transcripts

play00:00

foreign

play00:07

welcome back in this presentation we are

play00:10

going to focus on chords 12 rules and

play00:13

this is a set of 13 rules is it

play00:16

confusing no worries once we step into

play00:19

the topic of the day you will understand

play00:20

things clearly let's step into cards 12

play00:23

rules basically chords 12 rules are a

play00:27

set of 13 rules for defining certain

play00:30

requirements what are the requirements

play00:33

if a database management system is

play00:36

considered to be a relational database

play00:38

management system simply rdbms then it

play00:42

must satisfy all these 13 rules in

play00:45

simple terms there are 13 rules for

play00:48

defining the requirements for a dbms to

play00:51

be considered to be relational and these

play00:54

13 rules are proposed by the English

play00:56

computer scientist Edgar Frank card and

play01:00

this is considered to be the pioneer of

play01:02

the relational model for databases

play01:04

chords 12 rules are also referred as

play01:07

chords 12 Commandments now we need to

play01:10

understand one thing then why the name

play01:12

course 12 rules though it has 13 rules

play01:15

because the rules are numbered from 0 to

play01:19

12. so a total of 13 rules are there and

play01:22

the last rule is rule number 12 because

play01:25

the first rule starts with rule number

play01:27

zero in simple terms chords 12 rules are

play01:31

a set of 13 rules numbered from 0 to 12.

play01:34

let's see all the rules one by one now

play01:37

basically it has 13 rules the rule

play01:40

starts from rule number zero and it ends

play01:42

with rule number 12. so there are a

play01:45

total of 13 rules let's see rule number

play01:48

zero rule number zero is the foundation

play01:51

rule

play01:52

what do we mean by this this is the

play01:54

foundation for any system that is

play01:57

advertised as or claimed to be a

play01:59

relational database management system

play02:01

that system must be able to manage the

play02:04

databases entirely through its

play02:06

relational capabilities I already told

play02:08

you in the previous lecture that rdbms

play02:11

is having a close association with the

play02:13

mathematical concept called relations so

play02:16

any system that is claimed or advised to

play02:18

be a relational database management

play02:20

system simply rdbms then that system

play02:23

must be able to manage the databases

play02:25

entirely through its relational

play02:27

capabilities this is rule number zero

play02:29

the foundation rule we are done with

play02:31

rule number zero let's now move on to

play02:34

rule number one which is the information

play02:36

rule what do we mean by this it means

play02:39

all information in a relational database

play02:42

is represented explicitly at The Logical

play02:45

level and in exactly one way and that

play02:48

way is by values in the table in simple

play02:51

term all the information that we are

play02:53

going to process in rdbms it is

play02:55

represented explicitly at The Logical

play02:58

level by referring to the values in the

play03:00

table and this is what rule number one

play03:03

is the information rule

play03:05

and coming to rule number two the

play03:07

guaranteed access rule what do we mean

play03:10

by this each and every datum datum means

play03:13

it's singular the plural form of datum

play03:15

is data so when we say data it is

play03:18

already in the plural form let's come to

play03:20

the definition of the guaranteed access

play03:22

rule each and every datum which is

play03:24

already an atomic value in a relational

play03:27

database I hope you know what is an

play03:29

atomic value it is indivisible in nature

play03:32

if you are not sure about the atomic

play03:34

values I request you to watch my

play03:36

previous lecture where I have explained

play03:37

about Atomic values let's continue

play03:39

dealing with this definition each and

play03:42

every datum which is already an atomic

play03:44

value in a relational database

play03:46

management system is guaranteed to be

play03:48

logically accessible by resorting to a

play03:51

combination of table name primary key

play03:54

and column name in simple terms each and

play03:57

every data that we are going to access

play03:59

in rdbms it should be referred through

play04:02

the table name primary key and the

play04:04

column name anyway we will understand

play04:06

things clearly when we see SQL where we

play04:08

are going to give some SQL queries which

play04:10

contains the table name primary key

play04:13

attribute and also the column names

play04:15

we are done with rule 2 let's now focus

play04:18

on rule 3 the systematic treatment of

play04:21

null values if you recall the previous

play04:24

lecture where I have explained about

play04:26

null values we must understand clearly

play04:28

that null values are not empty character

play04:30

string or a string of blank characters

play04:32

even it is not 0 or any other number

play04:35

these null values are either missing

play04:38

information or inapplicable information

play04:40

and that should be treated in a

play04:43

systematic way by the relational

play04:44

database management system this is what

play04:47

exactly rule number three is and these

play04:50

null values must be independent of the

play04:52

data type for example number data type

play04:55

the role number should accept null value

play04:57

character data type name should also

play05:00

accept null value date of birth data

play05:02

type should also accept null value and

play05:04

that's why I quoted these null values

play05:07

must be independent of the data type and

play05:10

all these null values must be supported

play05:12

by the relational database management

play05:14

system this is all of about rule number

play05:16

three let's assume there are two

play05:19

different tables when we join these two

play05:21

tables and produce a new table when we

play05:24

do that there are chances for some

play05:26

inapplicable information in the result

play05:28

table where that result table may not

play05:31

have the exact value what is required

play05:33

while joining the table these

play05:35

inapplicable or missing information we

play05:37

call as null values no worries we will

play05:40

be elaborately understanding about null

play05:42

values when we deal with SQL and coming

play05:45

to rule number four which is dynamic

play05:47

online catalog what do we mean by this

play05:49

the database description is also

play05:52

represented at The Logical level so this

play05:54

Dynamic online catalog is related to

play05:57

database description and also it deals

play05:59

with the authorization which users can

play06:02

access what kind of data and coming to

play06:04

rule number five which is the

play06:06

comprehensive data sub language rule a

play06:09

relational system May support several

play06:11

languages and various modes of terminal

play06:15

use this terminal use means we are going

play06:17

to access the database from a terminal

play06:19

application or a terminal software and

play06:22

this can be of any type it may be a GUI

play06:24

application the graphical user interface

play06:26

and it can also be like the fill in the

play06:28

blanks mode anyway I am just

play06:30

representing it as a terminal

play06:32

application program or a terminal

play06:33

software or The Terminal usage mode

play06:36

however there must be at least one

play06:38

language though we have several

play06:41

languages there must be at least one

play06:43

language whose statements are

play06:45

expressible with some standard syntax

play06:48

some character strings and also it

play06:50

should support the following items the

play06:52

data definition the ddl the view

play06:55

definition I know it will be difficult

play06:56

for you to understand what is a view

play06:58

anyway in the next rule that is rule

play07:00

number six I will explain about views

play07:02

then data manipulation Integrity

play07:05

constraints authorization and operations

play07:07

related to transactions so all these

play07:10

things should be expressible in the

play07:12

statements and there may be multiple

play07:14

languages and and there should be at

play07:16

least one language that can support all

play07:19

these we are done with Rule 5 let's see

play07:22

the view updating rule which is Rule 6.

play07:25

see for a table we can create multiple

play07:27

views whenever we update any view that

play07:31

should also update the table basically

play07:33

all the data are stored in the relations

play07:35

and we can create multiple views for the

play07:38

relation both View and relation are

play07:41

referring to the same data item in the

play07:43

same memory location both are referring

play07:46

to the same memory so whenever we make

play07:48

any modifications in the view it means

play07:51

the relation is also getting modified

play07:52

because both are referring to the same

play07:55

data item only thing is all the

play07:57

information are stored in the relation

play07:59

and we are creating multiple views as

play08:01

per the need so rule number six states

play08:04

that any rdbms that should support the

play08:07

view updating rule simply whenever we

play08:09

update the rule the table or the

play08:11

relation should also be updated we are

play08:13

done with rule number six let's now move

play08:16

on to rule number seven the rule is it

play08:19

is possible for higher level insert

play08:21

update and delete so the name itself

play08:23

says that there should be a possible

play08:25

ability for the relational database

play08:27

management system to perform higher

play08:29

level of insertion updation and deletion

play08:32

operations what do we mean by higher

play08:34

level

play08:35

whenever we want to insert some records

play08:37

or update the records or delete the

play08:39

records it doesn't mean that we should

play08:41

always go to the database access the

play08:43

table and perform the operation even we

play08:45

should be able to do that from the

play08:47

application program whenever we do these

play08:49

operations from the application program

play08:51

or from the client end or the front end

play08:54

so that should also be supported it

play08:56

doesn't mean that we should always

play08:57

Supply queries to the database to

play08:59

perform the operation in other words the

play09:02

capability of handling a base relation

play09:04

or a derived relation as a single

play09:06

operand applies not only to the

play09:08

retrieval of data but also to the

play09:11

insertion updation and the deletion of

play09:14

the data and hence rule number seven is

play09:16

also called as relational operation rule

play09:19

we should always have the possibility

play09:21

for higher level insert update and

play09:24

delete operations no worries when the

play09:26

course progresses you will be able to

play09:28

understand rule number seven even more

play09:30

clearer we are done with rule number

play09:32

seven let's now move on to rule number

play09:34

eight which is physical data

play09:36

Independence we have already seen about

play09:38

this generally any application program

play09:41

or any terminal activities it should

play09:44

remain logically unimpaired Whenever

play09:46

there are changes made in the storage or

play09:49

the access method let's take the

play09:51

three-tier architecture we have front

play09:53

end at the top level a database at the

play09:56

low level whenever any changes are made

play09:59

in the low level I mean whenever we make

play10:01

any changes in the storage

play10:03

representations or access method it

play10:06

should not affect the application

play10:07

program level access that is what is

play10:10

called as physical data Independence

play10:12

simply changes made in the low level

play10:15

data storage representation or the data

play10:18

access methods should not impact the

play10:20

application programs or The Terminal

play10:22

activities and coming to rule number

play10:25

nine which is logical data Independence

play10:28

in rule number eight we dealt with the

play10:30

physical aspect right whenever we make

play10:32

changes in the storage it shouldn't

play10:33

affect the application Level access and

play10:35

coming to this one where the application

play10:37

programs and terminal activities it

play10:40

should be logically unimpaired when any

play10:42

modifications are turned to the base

play10:44

table so this is about rule number nine

play10:47

coming to rule number 10 the Integrity

play10:49

Independence we have already seen about

play10:52

integrity constraints right all these

play10:54

Integrity constraints that are specific

play10:56

to a particular relational database

play10:58

management system must be definable in

play11:01

the relational data sub language and

play11:03

also it should be stored in the catalog

play11:05

what do we mean by this it means all the

play11:08

Integrity constraints that we are going

play11:10

to enforce on the database should be in

play11:12

the database only to be precise it

play11:14

should be in the relational database

play11:16

only but not in the application programs

play11:19

say for example the banking database and

play11:22

let's assume there is a table called

play11:23

account or a relation called account in

play11:26

this account relation we have a column

play11:28

called balance and this balance should

play11:30

not be lesser than or equal to zero

play11:32

let's assume this is the constraint we

play11:34

are enforcing for this particular

play11:35

relation this enforcement of Integrity

play11:38

constraints should be in the dbms level

play11:40

not from the application Level say we

play11:43

may be writing an application program in

play11:45

Python or Java or C plus plus the

play11:48

constraint should not be applied there

play11:50

rather it should be applied in the

play11:52

relational database of language or

play11:54

simply relational databases we are done

play11:57

with rule number 10 the Integrity

play11:58

Independence coming to rule number 11

play12:01

the distribution Independence when we

play12:04

say data are stored in a single place

play12:06

maybe in a single server it is always

play12:08

good to have a backup because all

play12:11

systems are subject to failures it could

play12:13

be a hardware failure or a software

play12:15

failure whatsoever generally a failure

play12:18

failure in a system should not be

play12:20

permitted I personally believe in

play12:23

technology two is one and one is none

play12:25

when you have one it means it is none

play12:27

because there is no redundancy so we

play12:30

should always have enough backup for all

play12:32

the activities let's assume you are

play12:34

having a database it's always

play12:36

recommended to have another copy of the

play12:39

database somewhere in a distant location

play12:41

because not only hardware and software

play12:45

failures can cause damage to the

play12:46

database there may be natural disasters

play12:49

like earthquake or hurricane may affect

play12:51

your data center and hence we are

play12:53

required to distribute the data and this

play12:56

distribution of data not only helps us

play12:58

to achieve a duplicate copy of the

play13:00

database and also it protects the data

play13:03

from the natural disasters say if one

play13:05

site is affected by the natural disaster

play13:08

obviously the other site will contain

play13:10

the duplicate copy of the database

play13:11

because it is in a remote or a distant

play13:14

location and this distribution of data

play13:17

should not be known to the end user

play13:19

let's assume there are two sites where

play13:21

our databases are stored site a and site

play13:24

B let's assume site a and site B are

play13:27

geographically separated by thousands

play13:29

and thousands of miles

play13:30

it is always good to have like this

play13:32

let's say user is now connected to site

play13:35

a and he is retrieving or accessing all

play13:37

the data from site a let's assume site a

play13:41

is encountered with some Hardware or

play13:43

software failure or even the natural

play13:45

disaster so obviously ITA cannot give

play13:48

data to the user the end user in this

play13:51

scenario site B comes into action and it

play13:54

starts scattering the need of the user

play13:56

by providing all the data that is

play13:58

required user must not be able to see

play14:01

that the data is distributed across

play14:03

various locations users should always

play14:05

get the impression that the data is

play14:07

stored only in one place or in one site

play14:09

and he should not be aware that the data

play14:11

is distributed this is rule number 11

play14:14

the distribution Independence and coming

play14:17

to rule number 12 the last rule the

play14:19

non-subversion rule what we mean by this

play14:22

if a relational system has a low level

play14:24

language it means we can perform the

play14:27

operations of single record at a time

play14:29

that is what I represent it as low level

play14:31

language if a relational system has a

play14:34

low level language that low level cannot

play14:37

be used to subvert or bypass the

play14:39

Integrity rules or the constraints

play14:41

expressed in the higher level relational

play14:43

language the higher level language what

play14:45

I mean is multiple records can be

play14:47

accessed at the same time or multiple

play14:50

records can be processed at the same

play14:51

time so rule number 12 states that if

play14:55

relational database system has a low

play14:56

level language that low level language

play14:59

cannot be used to either subvert or

play15:02

bypass the Integrity rules and

play15:04

constraints expressed in the higher

play15:06

level relational language so this is

play15:08

what rule number 12 is all about

play15:11

we are done dealing with all the 13

play15:13

rules these are the rules that are

play15:16

designed to Define what is required from

play15:18

a database management system in order

play15:20

for it to be considered as relational

play15:22

database management system at the BMS in

play15:25

simple term course 12 rules are designed

play15:28

to Define what is required from a dbms

play15:31

in order for it to be considered rdbms

play15:34

and that's it guys I hope you guys

play15:36

enjoyed this presentation and thank you

play15:38

for watching

play15:39

[Music]

play15:40

[Applause]

play15:48

thank you

Rate This

5.0 / 5 (0 votes)

相关标签
Database ManagementRelational ModelEdgar Frank CoddData IntegritySQL QueriesData AccessData TypesDatabase DesignData SublanguageData Independence
您是否需要英文摘要?