Database - Advantages & Disadvantages: Codd's 12 Rules

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 7

Database - Advantages & Disadvantages

   Advantages

 Reduced data redundancy


 Reduced updating errors and increased consistency
 Greater data integrity and independence from applications programs
 Improved data access to users through use of host and query
languages
 Improved data security
 Reduced data entry, storage, and retrieval costs
 Facilitated development of new applications program

   Disadvantages

 Database systems are complex, difficult, and time-consuming to design


 Substantial hardware and software start-up costs
 Damage to database affects virtually all applications programs
 Extensive conversion costs in moving form a file-based system to a
database system
 Initial training required for all programmers and users

Codd's 12 rules
From Wikipedia, the free encyclopedia

[[File:Example.jpg]]Codd's 12 rules are a set of thirteen rules (numbered zero to twelve) proposed by Edgar F. Codd, a pioneer of the relational

model for databases, designed to define what is required from a database management system in order for it to be considered relational, i.e., an relational

database management system RDBMS.[1][2] They are sometimes jokingly referred to as "Codd's Twelve Commandments".

Codd produced these rules as part of a personal campaign to prevent his vision of the relational database being diluted, as database vendors scrambled in the

early 1980s to repackage existing products with a relational veneer. Rule 12 was particularly designed to counter such a positioning. In fact, the rules are so strict

that all popular so-called "relational" DBMSs fail on many of the criteria.[citation needed]

[edit]The rules

Rule 0: The system must qualify as relational, as a database, and as a management system.

For a system to qualify as a relational database management system (RDBMS), that system must use its relational facilities (exclusively)

to manage the database.

Rule 1: The information rule:

All information in the database is to be represented in one and only one way, namely by values in column positions within rows of tables.
Rule 2: The guaranteed access rule:

All data must be accessible. This rule is essentially a restatement of the fundamental requirement for primary keys. It says that every individual scalar

value in the database must be logically addressable by specifying the name of the containing table, the name of the containing column and the

primary key value of the containing row.

Rule 3: Systematic treatment of null values:

The DBMS must allow each field to remain null (or empty). Specifically, it must support a representation of "missing information and inapplicable

information" that is systematic, distinct from all regular values (for example, "distinct from zero or any other number", in the case of numeric values),

and independent of data type. It is also implied that such representations must be manipulated by the DBMS in a systematic way.

Rule 4: Active online catalog based on the relational model:

The system must support an online, inline, relational catalog that is accessible to authorized users by means of their regular query language. That is,

users must be able to access the database's structure (catalog) using the same query language that they use to access the database's data.

Rule 5: The comprehensive data sublanguage rule:

The system must support at least one relational language that

1. Has a linear syntax

2. Can be used both interactively and within application programs,

3. Supports data definition operations (including view definitions), data manipulation operations (update as well as retrieval), security and

integrity constraints, andtransaction management operations (begin, commit, and rollback).

Rule 6: The view updating rule:

All views that are theoretically updatable must be updatable by the system.

Rule 7: High-level insert, update, and delete:

The system must support set-at-a-time insert, update, and delete operators. This means that data can be retrieved from a relational database in sets

constructed of data from multiple rows and/or multiple tables. 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.

Rule 8: Physical data independence:

Changes to the physical level (how the data is stored, whether in arrays or linked lists etc.) must not require a change to an application based on the

structure.

Rule 9: Logical data independence:

Changes to the logical level (tables, columns, rows, and so on) must not require a change to an application based on the structure. Logical data

independence is more difficult to achieve than physical data independence.

Rule 10: Integrity independence:


Integrity constraints must be specified separately from application programs and stored in the catalog. It must be possible to change such constraints

as and when appropriate without unnecessarily affecting existing applications.

Rule 11: Distribution independence:

The distribution of portions of the database to various locations should be invisible to users of the database. Existing applications should continue to

operate successfully :

1. when a distributed version of the DBMS is first introduced; and

2. when existing distributed data are redistributed around the system.

Rule 12: The nonsubversion rule:

If the system provides a low-level (record-at-a-time) interface, then that interface cannot be used to subvert the system, for example, bypassing a

relational security or integrity constraint.

Knowledge-based systems
From Wikipedia, the free encyclopedia

Knowledge based systems are artificial intelligent tools working in a narrow domain to
provide intelligent decisions with justification. Knowledge is acquired and represented using
various knowledge representation techniques rules, frames and scripts. The basic
advantages offered by such system are documentation of knowledge, intelligent decision
support, self learning, reasoning and explanation. Akerkar RA and Sajja Priti
Srinivas: “Knowledge-based systems”, Jones & Bartlett Publishers, Sudbury, MA, USA
(2009)

Knowledge-based systems[1] are systems based on the methods and techniques


of Artificial Intelligence. Their core components are:

 knowledge base
 acquisition mechanisms
 inference mechanisms
While for some authors[who?] expert systems, case-based reasoning systems and neural
networks are all particular types of knowledge-based systems, there are others who
consider that neural networks are different, and exclude it from this category.[citation needed]
Knowledge representation techniques

All of these, in different ways, involve hierarchical representation of data.


 Lists - linked lists are used to represent hierarchical knowledge
 Trees - graphs which represent hierarchical knowledge. LISP, the main
programming language of AI, was developed to process lists and trees.
 Semantic networks - nodes and links - stored as propositions. Examples in
Stillings et. al. pp. 146-147
 Schemas - used to represent commonsense or stereotyped knowledge.
o Frames (Minsky) - Describe objects. Consist of a cluster of nodes and
links manipulated as a whole. Knowledge is organised in slots. Frames
are hierarchically organised. Example on p. 151 of Stillings
o Scripts (Schank and Abelson) - Describe event rather than objects.
Consist of stereotypically ordered causal or temporal chain of events.
Example on p. 156 of Stillings
 Rule-based representations (Newell and Simon) - used in specific problem-
solving contexts. Involve production rules containing if-then or situation-
action pairs. Specific example: problem space representations. Contain:
o Initial state
o Goal state
o Legal operators, i.e. things you are allowed to do
o Operator restrictions, i.e. factors which constrain the application of
operators

(More on Problem-space representations and strategies in Semester 2 - Problem


solving - expert-novice studies)

 Logic-based representations - may use deductive or inductive reasoning.


Contain:
o Facts and premises
o Rules of propositional logic (Boolean - dealing with complete
statements
o Rules of predicate calculus (allows use of additional information about
objects in the proposition, use of variables and functions of variables
o Measures of certainty - may involve Certainty Factors (eg. If symptom
then (CF) diagnosis) which could be derived from expert estimation or
from statistical data; Bayesian probability; or Fuzzy logic (in which the
concepts or information itself has some associated certainty value).

Database architecture :ss


 EXTERNAL LEVEL (highest level)

• The user’s view of the database.

 • Consists of a number of different external views of the DB.

 • Describes part of the DB for particular group of users.

 • Provides a powerful and flexible security mechanism by

 hiding parts of the DB from certain users. The user is not

 aware of the existence of any attributes that are missing

 from the view.

 • It permits users to access data in a way that is customized to

 their needs, so that the same data can be seen by different

 users in different ways, at the same time.

 CONCEPTUAL LEVEL

 . The logical structure of the entire database as seen by DBA.

 . What data is stored in the database.

 . The relationships among the data.

 . Complete view of the data requirements of the organization,

 independent of any storage consideration.

 . Represents:

 - Íentities, attributes, relations

 - constraints on data
 - semantic information on data

 - security, integrity information

 Supports each external view: any data available to a user must

 be contained in, or derivable from the conceptual level.

 INTERNAL LEVEL

 • Physical representation of the DB on the computer.

 • How the data is stored in the database.

 • Physical implementation of the DB to achieve optimal run–

 time performance and storage space utilization.

 - Storage space allocation for data and indexes

 - Record description for storage

 - Record placement

 - Data compression, encryption

 Mappings:

The process to convert a request (from external level) and the result between view levels is
called mapping.

Data independence :

 The disjointing of data descriptions from the application programs (or user-interfaces) that uses
the data is called data independence .

 Data independence is the type of data transparency that matters for a centralized DBMS. It
refers to the immunity of user applications to make changes in the definition and organization of
data

Physical data independence:

The ability to change the physical schema without changing the logical schema is called physical data
independence. For 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.

Modifications at this level are usually to improve performance .


Logical data independence :

The ability to change the logical (conceptual) schema without changing the External schema is called
logical data independence. For 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.

You might also like