You are on page 1of 27

DATABASE SYSTEM CONCEPTS AND

ARCHITECTURES
Data Model A data model is a collection of
higher level data description
constraints that hides lower level
Types storage details – structure of DB

• conveys the core concepts and/or


 1. Object based / High-level / • Entity-Relationship Model
principles of an organization in a
Conceptual data models
• Object-Oriented Data Model
simple way, using concise descriptions
– user perceive the data  2. Record based /
Representational /
Implementation data models • Hierarchical Model
• Network Model
• Data is organized in the way of
• Relational Model
easy to understand by end user
 3. Physical data model / low-
level data models

Describe how data is stored in the


computer
describes the storage of data in the computer by
representing information such as record formats, record
orderings and access path.
 Hierarchical data mode –
 Record Based first DBMS model – data
store hierarchically -
downtree

 Relational model -data is stored in


two-dimensional tables (rows and
columns). The data is manipulated
based on the relational theory of
mathematics.  N/W model : Like the
hierarchical model, this
model uses pointers
toward stored data.
However, it does not
necessarily use a
downward tree structure.
Schema and Instance
 Schema – Schema is the overall description of the database. The basic structure of
how the data will be stored in the database is called schema.
 Logical Schema – It describes the database designed at logical level.
 Physical Schema – It describes the database designed at physical level.

◦ Ex. Table name – teacher , DB name -school


◦ Table require attributes – name , doj, phoneno
 Name varchar2(50)
 Doj date
 Phoneno number

- Schema ( not changed)


 Instance - Instances are the collection of information stored at a particular moment
◦ Ex. Table name – teacher , DB name -school
◦ first day 50 records – now DB has 50 records
 Second day add another 50 records – now DB has 100 records
 - instance (changed)
Schema
Schema Instance

It is the collection of information stored in a


It is the overall description of the database.
database at a particular moment.

Data in instances can be changed using addition,


Schema is same for whole database.
deletion, updation.

Does not change Frequently. Changes Frequently.

Defines the basic structure of the database i.e how It is the set of Information stored at a particular
the data will be stored in the database. time.
DBMS architecture and Data
independance
Database Languages
 Database languages can be used to read, store and update the data in the
database.
 A DBMS must provide appropriate languages and interfaces for each category
of users to express database queries and updates. Database Languages are
used to create and maintain database on computer.
 There are large numbers of database languages like Oracle, MySQL, MS
Access, dBase, FoxPro etc.
 SQL statements commonly used in Oracle and MS Access can be categorized
as DDL,DML,DCL and TCL.
DB Languages
SQL Statement

DCL- Data TCL –


DDL- Data
DML – Data Transaction
Definition Control
Manipulation Control
Language
Language Language Language

CREATE
ALTER COMMIT
DROP SELECT
INSERT ROLLBACK
TRUNCATE GRANT
UPDATE (
RENAME DELETE REVOKE
SAVEPOIN
COMMENT MERGE T)
DDL -It is used to create schema, tables, indexes, constraints, etc. in
the database.

 Create: It is used to create objects in the database.  Truncate: It is used to remove all records from
◦ Create table tablename(var1/attri datatype, var2 datatype ); a table.
 Create table student(regno number , name varchar2(20));  Truncate table tablename;
 Truncate table student;
 Alter: It is used to alter the structure of the database.
 Alter table tablename add attribute datatype;  Rename: It is used to rename an object.
 Alter table student add phoneno number;  Alter table tablename rename column oldname to
 Alter table tablename modify attribute datatype; newname;
 Alter table student modify regno varchar2(20);  Alter table student rename column regno to
 Alter table tablename drop column attributename; registernumber;
 alter table student drop column name; / alter table student drop
 Comment: It is used to comment on the data
name;
dictionary. ( statement will not be executed)
 Drop: It is used to delete objects from the database.  Single line comments start with --.
 Alter table tablename drop column attributename;  -- this is example for single line comment
 alter table student drop column name; / alter table student drop
 Multiline comment start with /* and end with */
name;  /* This is example for multiline comment
 This statement is not executed */
DML -used for accessing and manipulating data in
a database. It handles user requests.
 Select: It is used to retrieve data from a database.  Delete: It is used to
◦ Select * from tablename;
 Select * from student;
delete all records from a
 Insert: It is used to insert data into a table.
table.
◦ Insert into tablename (attribute1, attribute 2) values (value for ◦ Delete table tablename;
attr 1, value for attribu2); / insert into tablename values ( value
 Delete table student;
for attr1,value for attr2);
 Insert into student(regno,name) values ( 121,’asha’); / insert into ◦ DELETE FROM
values (121,’asha’); table_name WHERE
 Update: It is used to update existing data within a table. some_condition;
◦ Update tablename set column2= value2 where condition;  Delete from student where
 Update student set name= ‘mala’ where regno=121; regno=121;
◦ table_name: name of the
 table_name: name of the table
 column1: name of first , second, third column....

table
value1: new value for first, second, third column....
 condition: condition to select the rows for which the values of ◦ some_condition: condition
MERGE
DCL -used to retrieve the stored or saved data.
 The DCL execution is transactional. It also has rollback
parameters. (But in Oracle database, the execution of data
control language does not have the feature of rolling back.)

 Grant: It is used to give user access privileges to a database.


 Revoke: It is used to take back permissions from the user.

 There are the following operations which have the


authorization of Revoke:
◦ CONNECT, INSERT, EXECUTE, DELETE, UPDATE and
SELECT.
Grant
 You can grant users various privileges to tables.
These permissions can be any combination of
SELECT, INSERT, UPDATE, DELETE, REFERENCES,
ALTER, or ALL.

 Syntax:
◦ GRANT privileges ON object TO user;

Object: The name of the database object that you are granting
permissions for. In the case of granting privileges on a table, this
would be the table name.
User: The name of the user that will be granted these privileges.
Privilege Description

SELECT Ability to perform SELECT statements on the table.

INSERT Ability to perform INSERT statements on the table.

UPDATE Ability to perform UPDATE statements on the table.

DELETE Ability to perform DELETE statements on the table.

REFERENCES Ability to create a constraint that refers to the table.

ALTER Ability to perform ALTER TABLE statements to change the table definition.

ALL does not grant all permissions for the table. Rather, it grants the ANSI-92
ALL
permissions which are SELECT, INSERT, UPDATE, DELETE, and REFERENCES.
 For example, if you wanted to grant SELECT, INSERT, UPDATE, and DELETE

privileges on a table called employees to a user name smithj, you would run the

following GRANT statement:

◦ GRANT SELECT, INSERT, UPDATE, DELETE ON employees TO smithj;

 You can also use the ALL keyword

◦ (ie: SELECT, INSERT, UPDATE, DELETE, and REFERENCES) to a user named smithj.

For example:

◦ GRANT ALL ON employees TO smithj;

 If you wanted to grant only SELECT access on the employees table to all users, you

could grant the privileges to the public role. For example:

◦ GRANT SELECT ON employees TO public;


Revoke
 Once you have granted privileges, you may need
to revoke some or all of these privileges. To do
this, you can run a revoke command.

 You can revoke any combination of SELECT,


INSERT, UPDATE, DELETE, REFERENCES, ALTER,
or ALL.
 Syntax

◦ REVOKE privileges ON object FROM user;


Object: The name of the database object that you are revoking privileges for. In
the case of revoking privileges on a table, this would be the table name.
user: The name of the user that will have these privileges revoked.
Privilege Description
Ability to perform SELECT
SELECT
statements on the table.
Ability to perform INSERT
INSERT
statements on the table.
Ability to perform UPDATE
UPDATE
statements on the table.
Ability to perform DELETE
DELETE
statements on the table.
Ability to create a constraint that
REFERENCES
refers to the table.
Ability to perform ALTER TABLE
ALTER statements to change the table
definition.
ALL does not revoke all permissions
for the table. Rather, it revokes the
ALL ANSI-92 permissions which are
SELECT, INSERT, UPDATE, DELETE,
 For example, if you wanted to revoke DELETE privileges on a table called employees from a

user named anderson, you would run the following REVOKE statement:

◦ REVOKE DELETE ON employees FROM anderson;

 If you wanted to revoke ALL ANSI-92 permissions (ie: SELECT, INSERT, UPDATE, DELETE,

and REFERENCES) on a table for a user named anderson, you could use the ALL keyword as

follows:

◦ REVOKE ALL ON employees FROM anderson;

 If you had granted SELECT privileges to the public role (ie: all users) on the employees table

and you wanted to revoke these privileges, you could run the following REVOKE statement:

◦ REVOKE SELECT ON employees FROM public;


TCL -used to run the changes made by the DML
statement. TCL can be grouped into a logical transaction.

 Commit: It is used to save the transaction on the database.

 Rollback: It is used to restore the database to original


since the last Commit.

 Savepoint : Used for large transaction


Commit
 Everything saved
Syntax:
 Commit;
 By default, automatic commit for DML commands is off.

Syntax:

 set autocommit on; -- and to turn it off


 set autocommit off;
ROLLBACK like
undo
◦ No use if it execute after commit
 Syntax:
 Rollback [to savepoint <savepointname >];
 savepoint is an optional parameter
is the name given to the
Syntax: save point created during
 Savepoint <savepointname>; the transaction and is
user-defined.

like save
Save point is quite useful as it divides longer
transactions into smaller parts and marks certain
points of a transaction as checkpoints.
Rollback
 TRANSACTION PROPERTIES : ACID

 Atomicity − ensures that all operations within the work unit are completed

successfully. Otherwise, the transaction is aborted at the point of failure and all the

previous operations are rolled back to their former state.

 Consistency − ensures that the database properly changes states upon a successfully

committed transaction.

 Isolation − enables transactions to operate independently of and transparent to each

other.

 Durability − ensures that the result or effect of a committed transaction persists in

case of a system failure.


THANK YOU..

You might also like