2. Data Model
1. Object based / High-level /
Conceptual data models
2. Record based /
Representational /
Implementation data models
3. Physical data model / low-
level data models
Types
A data model is a collection of
higher level data description
constraints that hides lower level
storage details – structure of DB
• Entity-Relationship Model
• Object-Oriented Data Model
• Hierarchical Model
• Network Model
• Relational Model
• conveys the core concepts and/or
principles of an organization in a
simple way, using concise descriptions
– user perceive the data
Describe how data is stored in the
computer
• Data is organized in the way of
easy to understand by end user
describes the storage of data in the computer by
representing information such as record formats, record
orderings and access path.
3. Record Based
N/W model : Like the
hierarchical model, this
model uses pointers
toward stored data.
However, it does not
necessarily use a
downward tree structure.
Hierarchical data mode –
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.
4. 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)
6. Schema Instance
It is the overall description of the database.
It is the collection of information stored in a database
at a particular moment.
Schema is same for whole database.
Data in instances can be changed using addition,
deletion, updation.
Does not change Frequently. Changes Frequently.
Defines the basic structure of the database i.e how the
data will be stored in the database.
It is the set of Information stored at a particular time.
9. 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.
10. DB Languages
SQL Statement
TCL –
Transaction
Control
Language
DCL- Data
Control
Language
DDL- Data
Definition
Language
DML – Data
Manipulation
Language
CREATE
ALTER
DROP
TRUNCATE
RENAME
COMMENT
GRANT
REVOKE
COMMIT
ROLLBACK
(
SAVEPOIN
T )
SELECT
INSERT
UPDATE
DELETE
MERGE
11. DDL -It is used to create schema,
tables, indexes, constraints, etc. in the
database.
Create: It is used to create objects in the database.
Create table tablename(var1/attri datatype, var2 datatype );
Create table student(regno number , name varchar2(20));
Alter: It is used to alter the structure of the database.
Alter table tablename add attribute datatype;
Alter table student add phoneno number;
Alter table tablename modify attribute datatype;
Alter table student modify regno varchar2(20);
Alter table tablename drop column attributename;
alter table student drop column name; / alter table student drop name;
Drop: It is used to delete objects from the database.
Alter table tablename drop column attributename;
alter table student drop column name; / alter table student drop name;
Truncate: It is used to remove all records
from a table.
Truncate table tablename;
Truncate table student;
Rename: It is used to rename an object.
Alter table tablename rename column oldname to
newname;
Alter table student rename column regno to
registernumber;
Comment: It is used to comment on the data
dictionary. ( statement will not be executed)
Single line comments start with --.
-- this is example for single line comment
Multiline comment start with /* and end with */
/* This is example for multiline comment
This statement is not executed */
12. DML -used for accessing and manipulating data in
a database. It handles user requests.
Select: It is used to retrieve data from a database.
Select * from tablename;
Select * from student;
Insert: It is used to insert data into a table.
Insert into tablename (attribute1, attribute 2) values (value for attr 1, value
for attribu2); / insert into tablename values ( value for attr1,value for attr2);
Insert into student(regno,name) values ( 121,’asha’); / insert into values
(121,’asha’);
Update: It is used to update existing data within a table.
Update tablename set column2= value2 where condition;
Update student set name= ‘mala’ where regno=121;
table_name: name of the table
column1: name of first , second, third column....
value1: new value for first, second, third column....
condition: condition to select the rows for which the values of columns
needs to be updated.
Delete: It is used to
delete all records from a
table.
◦ Delete table tablename;
Delete table student;
◦ DELETE FROM
table_name WHERE
some_condition;
Delete from student where
regno=121;
◦ table_name: name of the
table
◦ some_condition: condition
14. 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.
15. 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.
16. 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
ALL does not grant all permissions for the table. Rather, it grants the ANSI-92
permissions which are SELECT, INSERT, UPDATE, DELETE, and REFERENCES.
17. 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;
18. 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;
19. 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
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
ALL does not revoke all permissions for
the table. Rather, it revokes the ANSI-
92 permissions which are SELECT,
INSERT, UPDATE, DELETE, and
REFERENCES.
20. 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;
21. 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
22. 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;
23. ROLLBACK
No use if it execute after commit
Syntax:
Rollback [to savepoint <savepointname >];
savepoint is an optional parameter
Syntax:
Savepoint <savepointname>;
Save point is quite useful as it divides longer
transactions into smaller parts and marks certain
points of a transaction as checkpoints.
is the name given to the
save point created during
the transaction and is user-
defined.
like save
like undo
26. 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.