SlideShare a Scribd company logo
1 of 39
DDL
Create an Oracle Table
 A user creates an Oracle table in the SQL*Plus environment.
 An Oracle table is created from the SQL>Prompt in the SQL*Plus environment.
 A Data Definition Language (DDL) SQL statement, CREATE TABLE, is used for table
creation.
 A table is created as soon as the CREATE statement is successfully executed by the
Oracle Server.
Syntax
CREATE TABLE [schema.]tablename
(column1 datatype [CONSTRAINT constraint name] constraint type…,
column2 datatype [CONSTRAINT constraint name] constraint type…,
[CONSTRAINT constraint_name] constraint_type (column,…)…);
 Schema  optional and it is same as the user’s login name.
 Tablename  name of the table given by the user.
 Column  name of the single column.
 Datatype  column’s data type and size.
 Constraint_name  name of constraint provided by the user as per the
conventions.
 Constraint_type  integrity or value constraint.
 Each column may have zero, one or more constraints defined at the
column level.
 The table level constraints are normally declared after all column
definitions.
 SQL is not case sensitive.
 The reserved words are written in capitalized letters and user-defined
names in lower or mixed-case letters.
 The spaces, tabs and carriage returns are ignored.
 We will debug the statement using SQL*Plus commands only in Oracle9i.
 Go to debugging line (* is displayed next to the current line number).
 Replace the errored character or spelling mistake in any line, or append a comma(,) to
the line.
 Execute the debugged statement using a slash (/).
 They table is created.
 We can edit erroneous statement with the help of an alternate editor, such as
notepad.
 To load an erroneous statement in notepad and modify it.
 At the SQL>prompt, we type Ed (or Edit) to invoke notepad
 We make required corrections to the script.
 We save our statement on the disk using the save option from the file menu in notepad
and we name our statement ‘A:CREATE’.
 Notepad adds the extension .txt to the filename.
 To suppress Notepad’s default .txt extension, type the file name in a pair of double
quotes, and use the extension .sql.
 We exit notepad to go back to the SQL*Plus environment.
 We can run the saved statement with @ or the RUN command.
The “Table created” message is displayed when the statement is error-free.
At this point, the table is created and its structure is saved.
Storage Clause in Create Table
 A Create table statement may have an optional Storage clause.
 It is used to allocate initial disk space for the table at the time of creation
with the Initial parameter and also to allocate additional space with the
next parameter in case the table runs out of allocated initial space.
CREATE TABLE divisions (div_no NUMBER(2),
div_name VARCHAR2(14),
location VARCHAR2(13) )
STORAGE ( INITIAL 100K NEXT 50K
MINEXTENTS 1 MAXEXTENTS 50
PCTINCREASE 5);
Parameter Description
INITIAL The size, in bytes, of the first extent allocated when a segment is created. This parameter cannot be specified in an ALTER statement.
NEXT The size, in bytes, of the next incremental extent to be allocated for a segment. The second extent is equal to the original setting
for NEXT. From there forward, NEXT is set to the previous size of NEXT multiplied by (1 + PCTINCREASE/100).
PCTINCREASE The percentage by which each incremental extent grows over the last incremental extent allocated for a segment. If PCTINCREASE is 0,
then all incremental extents are the same size. If PCTINCREASE is greater than zero, then each time NEXT is calculated, it grows
by PCTINCREASE. PCTINCREASE cannot be negative.
The new NEXT equals 1 + PCTINCREASE/100, multiplied by the size of the last incremental extent (the old NEXT) and rounded up to the
next multiple of a block size.
MINEXTENTS The total number of extents to be allocated when the segment is created. This allows for a large allocation of space at creation time, even
if contiguous space is not available.
MAXEXTENTS The total number of extents, including the first, that can ever be allocated for the segment.
FREELIST
GROUPS
The number of groups of free lists for the database object you are creating. Oracle uses the instance number of Oracle Real Application
Cluster instances to map each instance to one free list group. For information on the use of this parameter, see Oracle9i Real Application
Clusters Administration.
Note: This parameter is ignored for objects created in locally managed tablespaces with segment space management specified as AUTO.
FREELISTS Specifies the number of free lists for each of the free list groups for the schema object. Not valid for tablespaces.The use of this
parameter is discussed in Oracle9i Database Performance Tuning Guide and Reference.
Note: This parameter is ignored for objects created in locally managed tablespaces with segment space management specified as AUTO.
OPTIMAL Relevant only to rollback segments. See Chapter 13, "Managing Undo Space" for information on the use of this parameter.
BUFFER POOL Defines a default buffer pool (cache) for a schema object. Not valid for tablespaces or rollback segments. For information on the use of
this parameter, see Oracle9i Database Performance Tuning Guide and Reference.
 TABLESPACE clause is used to specify the user’s tablespace name.
 If it is not specified, Oracle uses the default permanent tablespace anyway.
 The STORAGE clause allocates 1 MB initially on tablespace CIS_DATA and 100 KB additional
space on the same tablespace.
 The INITIAL and NEXT parameters use values in K (KB) or M (MB).
 The PCTFREE (percentage-free) clause is used to allow for future increment in row size.
 Oracle recommends the following formula in deciding initial extent size for a table.
AVG_ROW_LEN . Number of rows . (1 + 0.15) . (1 + PCTFREE/100)
 The AVG_ROW_LEN is a column in USER_TABLES Data Dictionary table.
 The 0.15 (15%) is recommended for overhead.
Displaying table information
Viewing a user’s table names
 A users types an SQL statement to retrieve table names.
 To review information, to find out what has already been created and what is to
be created and to find out all tables owned by you.
Syntax
SELECT TABLE_NAME FROM USER_TABLES;
 Oracle creates system tables to store information about users objects.
 USER_TABLES is an Oracle system database table and table has many other
colums.
 TABLE_NAME is one of its columns.
 The display will include all table names you have created and any other can get
listing of all tables you own as well as those you are granted privileges to by
other users.
 Get information about STORAGE clauses attributes by using the Data
Dictionary view USER_SEGMENTS
Syntax
SELECT Segment_Name,Name2 FROM USER_SEGMETNS;
Viewing a Table’s Structure
 You can display the structure entered by you in table creation statement.
 If you have made any changes to the table’s structure.
 The command is DESCRIBE OR DESC which doesn’t need a semicolon at the end because it
is a not a SQL Statement.
 The default display of column names, the NOT NULL constraint, and data type are in
uppercase
 You didn’t add a NOT NULL constraint for the primary keys, but by default.
 Oracle adds it for all primary key columns.
Viewing constraint information
 Oracle’s Data Dictionary table USER_CONSTRAINTS stores information about
constraints have entered for each column.
 The statement and the result, which include the constraint’s name and type.
 When you type statement, the table name must be typed in uppercase, because
Oracle saves table names in uppercase.
 If you type the table name in lowercase, no constraint names will be displayed.
 The constraints named by the user have more meaningful names than the ones
named by Oracle.
 Constraints like NOT NULL are usually not named by the user.
 Oracle names them using the SYS_Cn format, where n is any number.
 Constraint type C is displayed for NOT NULL and CHECK constraints.
 Constraint type P for primary key and type R is foreign key constraints.
 The ORDER BY clause is added to sort the constraint display by table name.
 In this statement, only the table name within single quotes needs to be in uppercase.
 Oracle stores table names in that case.
select COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_COLUMN_NAME,
REFERENCED_TABLE_NAME from information_schema.KEY_COLUMN_USAGE where
TABLE_NAME = 'yourTableName';
select CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME from USER_CONS_COLUMNS
where TABLE_NAME = 'yourTableName';
Viewing tablespace information
 A tablespace consists of one or more physical data files.
 Get information about all tablespaces available to you by using Data
Dictionary view USER_TABLE_SPACES.
 Use the DESCRIBE command and the SELECT statement with a view the
same way you use with tables.
 Data Dictionary view, USER_USERS gives user information about his or her
account as well as permanent and temporary tablespace.
DESCRIBE user_tablespace SELECT * from USER_TABLESPACE;
SELECT * from USER_USERS;
Comment on tables and columns
 When you create a table, you can add comments to the table and its column.
 Do it for documentation purpose with a COMMENT statement.
 View information about all comments on tables and columns by using Data Dictionary views
ALL_TAB_COMMENTS and ALL_COL_COMMENTS.
COMMENT ON TABLE STUDENT IS ‘Table holds students for INDO-US-College’
COMMENT ON COLUMN employee.Lname IS ‘Employee’s last name’
Altering an existing table
 In a perfect scenario, the table you create will not need any structural modifications.
 To plan and design a database that is close to perfect in all respects.
 Every perfect tables need changes.
 There are certain modifications that you can make to a table’s structure.
 There are other modifications that you can’t make to an existing table’s structure.
Modifications allowed without any
restrictions
Modifications allowed with any
restrictions
Modifications not allowed
Adding a new column to the table
Deleting a foreign key constraint from a table Adding a foreign key constraint is allowed only if the
current values are null or exist in the referenced
table’s primary key.
Deleting a primary key constraint from a table,
which also removes any references to it from
other tables in the database with CASCADE
clause.
Adding a primary key constraint is allowed if the
current values are not null and are unique.
Increasing the size of a column.
Example: Varchar2(15) can be changed to
Varchar2(20)
Changing a column’s data type and size is allowed
only if there is no data in it. In Oracle9i, column size
may be decreased if existing data can be stored with
the new column width.
Renaming columns and constraints (Oracle9i
onward)
Adding a unique constraint is possible if the current
data values are unique.
Adding a check constraint is possible if the current
data values comply with the new constraint.
Adding a default value is possible if there is no data
in the column.
Changing a column’s name
Changing a constraint’s name
Removing a column
Above all Oracle8 and earlier
Adding a new column to an existing table
Syntax
 ALTER TABLE tablename ADD columnname datatype;
 If the table already contained rows of data, you will have to use UPDATE
statement for each row to add values in the newly added column.
Modifying an existing column
Syntax
 ALTER TABLE tablename MODIFY columnname newdatatype;
 Where newdatatype is the new data type or new size for the column.
Adding a constraint
Syntax
 ALTER TABLE tablename ADD [CONSTRAINT constraint_name] constraint_type (column);
 The ALTER table statement that adds a new constraint to the COURSE or same table.
 The foreign key column Eid references primary key column CID of its own table.
 Such a reference is known as a circular reference.
ALTER TABLE course
ADD CONSTRAINT COURSE_EID_FK FOREIGN KEY(EID)
REFERENCES COURSE(CID);
 Use a CHECK constraint will guarantee the necessary data integrity.
 The problem is that during creation of the TERM table, defining a constraint that compares
values in two columns of the same table is not possible.
 To create a foreign key constraint, the parent table, whose primary key column is
referenced by the child table’s foreign key column, must already exist in the database.
 Even the primary key column that is referenced must exist in the parent table defined as
the primary key.
 The two columns, the foreign key and the primary key that it references need not have
the same name.
 To create all tables without any foreign key constraints first, then create tables using
CREATE TABLE statement with FOREIGN KEY constraints to the reference tables already
created.
ALTER TABLE term
ADD CONSTRAINT term_startdate_ck
CHECK(StartDate < EndDate);
 To create all tables with their constraints except for the foreign key
constraint.
 Once all the tables are created, use the ALTER TABLE statement to add the
FOREIGN KEY constraint.
 The foreign key must reference a primary key.
 NOT NULL constraint and a DEFAULT value to the start term and state
columns, respectively.
 A user can always overwrite the default value, but if it is left blank or null,
the default value is used by Oracle.
 To add such constraints, a MODIFY clause is used with an ALTER TABLE
statement.
ALTER TABLE course MODIFY name varchar(20)
CONSTRAINT course_name_nn NOT NULL;
Dropping a column (Oracle8i onward)
 Only one column can be dropped at a time.
 The column may or may not contain any data.
 When you drop a column, there must be at least one column left in the table.
 It can’t remove the last remaining column from a table.
 It is not possible to recover a dropped column and its data.
 Syntax
ALTER TABLE tablename DROP COLUMN columnname;
 Oracle9i also allows a user to mark columna as unused
ALTER TABLE tablename SET UNUSED (columnname);
 Syntax
ALTER TABLE student SET UNUSED (age);
 The unused columns are liked dropped columns.
 This is not a very good feature, because the storage space used by unused columns is not
released.
 They aren’t displayed with other columns or in the table’s structure, and the user can drop
all unused columns.
 Setting a column to unused is quicker than dropping a column and it requires fewer system
resources.
 It can remove all unused columns when system resources are in less demand.
 Syntax
ALTER TABLE tablename DROP UNUSED columns;
 Example
ALTER TABLE student DROP UNUSED columns;
 If no columns are marked as unused, this statement doesn’t return any error messages.
Dropping a constraint
 It can view constraint information from the USER_CONSTRAINTS table or the
USER_CONS_COLUMNS table.
 A dropped constraint is no longer enforced by Oracle, and it doesn’t show up in the list of
USER_CONSTRAINTS or USER_CONS_COLUMNS.
 You can drop a constraint by using its name, which is why it is important to name all
constraints with a standard naming conversion.
 Syntax
ALTER TABLE tablename DROP PRIMARY KEYUNIQUE (columnname) |
CONSTRAINT constraintname [CASCADE];
ALTER TABLE major
DROP PRIMARY KEY CASCADE;
ALTER TABLE employee
DROP CONSTRAINT employee_deptid_fk;
Enabling/Disabling Constraints
 A newly created constraint is enabled automatically.
 A constraint verifies table data as they are added or updated.
 This verification slows down the process, so you may want to disable a constraint if
you are going to add or update large volume of data.
 When you re-enable the constraint, Oracle checks the validity of the data and for any
violations.
 You may disable multiple constraints with one ALTER TABLE statement, but you may
only enable one constraint at a time.
 There is no CASCADE clause with ENABLE.
 This enable and disable clauses can also be used in a CREATE TABLE
statement
 Syntax
ALTER TABLE tablename ENABLE/DISABLE CONSTRAINT constraintname;
ALTER TABLE tablename ENABLE/DISABLE PRIMARY KEY;
ALTER TABLE major
DISABLE PRIMARY KEY ;
ALTER TABLE employee
ENABLE employee_deptid_fk;
Tables Explanation
Renaming a column
(Oracle9i version 9.2 onward)
ALTER TABLE tablename RENAME COLUMN oldname to
newname;
Renaming a constraint
(Oracle9i version 9.2 onward)
ALTER TABLE tablename RENAME CONSTRAINT oldname to
newname;
Modifying storage of a table ALTER TABLE tablename STORAGE (NEXT nk);
It can change storage attributes of a table, such as NEXT,
PCTFREE, and so on.
Dropping a table
 When a table is not needed in the database, it can be dropped.
 When a table is dropped, all data and the table structure are permanently deleted.
 The DROP operation can’t be reversed.
 You can drop a table only if you are the owner of the table or have the rights to do so.
 Many other objects based on the dropped table are affected.
 All associated indexes are removed.
 The table’s views and synonyms become invalid.
 Oracle displays a “Table dropped” message when a table is successfully dropped.
 If you add the optional CASCADE CONSTRAINTS clause, it removes foreign key references
to the table as we..
 Syntax
DROP TABLE tablename [CASCADE Constraints];
Renaming a table
 You can remove a table provided are the owner of the table.
 Oracle displays a “Table dropped” message when this statement is
executed.
 The RENAME statement can be used to change name of other Oracle
objects, such as view, synonym or sequence.
 Syntax
RENAME oldname to newname;
RENAME dept to department;
Truncating a table
 It is removing all records/ rows from the table.
 The SQL language has a DELETE statement that can be used to remove on
or more rows from the table and it is reversible as long as it is not
committed.
 The TRUNCATE statement, is not reversible.
 It releases storage space occupied by the table, but deletion does not.
 Syntax
TRUNCATE TABLE Tablename;
 Oracle displays a “Table truncated” message on this statement execution.
 The truncate operation releases all table storage except for the initially
allocated extent.
 It can keep all the storage used by table with the REUSE STORAGE clause
 Syntax
TRUNCATE TABLE TablenameREUSE STORAGE;
Oracle’s Various Table Types
Types Explanantion
Permanent Tables It used for storing data
Temporary Tables It used during a session or a transaction and like permanent tables,
but they aren’t stored permanently.
They store data during a session or a transaction
They are created with CREATE GLOBAL TEMPORARY TABLE statement
Index organized Tables It used for tables with primary key values that are looked up frequently.
They are created with a CREATE TABLE tablename…… ORGANIZATION INDEX
statement.
External Tables They are stored “outside” the database with CREATE TABLE tablename ….
ORGANIZATION EXTERNAL statement.
These tables are based on flat directory path is made known to Oracle with a CREATE DIRECTORY
statement. In most cases, the end user works with permanent data tables only.
Spooling
 It is a very handy feature.
 During a session, a user can redirect all statements, queries, commands and results to a file
for later review or printout.
 The spooling method creates a text file of all actions and their results.
 It is redirected to the file, which is saved with an .lst extension by default.
 Start  File menu in SQL*Plus window.
 Click  Spool on Spool File and enter file name, which will be created with an .lst
extension.
 To stop spooling at any point, use the same menu to click on Spool Off.
 When spooling is turned off, the file is saved to the disk and closed.
 The spooled file can be opened in any text editor, such as Notepad, for viewing or printing.

More Related Content

What's hot (18)

Oracle: DDL
Oracle: DDLOracle: DDL
Oracle: DDL
 
DDL,DML,SQL Functions and Joins
DDL,DML,SQL Functions and JoinsDDL,DML,SQL Functions and Joins
DDL,DML,SQL Functions and Joins
 
MySQL Essential Training
MySQL Essential TrainingMySQL Essential Training
MySQL Essential Training
 
Sql smart reference_by_prasad
Sql smart reference_by_prasadSql smart reference_by_prasad
Sql smart reference_by_prasad
 
SQL(DDL & DML)
SQL(DDL & DML)SQL(DDL & DML)
SQL(DDL & DML)
 
Database Management - Lecture 2 - SQL select, insert, update and delete
Database Management - Lecture 2 - SQL select, insert, update and deleteDatabase Management - Lecture 2 - SQL select, insert, update and delete
Database Management - Lecture 2 - SQL select, insert, update and delete
 
SQL
SQLSQL
SQL
 
8. sql
8. sql8. sql
8. sql
 
Commands of DML in SQL
Commands of DML in SQLCommands of DML in SQL
Commands of DML in SQL
 
Mysql cheatsheet
Mysql cheatsheetMysql cheatsheet
Mysql cheatsheet
 
DML Commands
DML CommandsDML Commands
DML Commands
 
Sql commands
Sql commandsSql commands
Sql commands
 
Oracle sql material
Oracle sql materialOracle sql material
Oracle sql material
 
Lab2 ddl commands
Lab2 ddl commandsLab2 ddl commands
Lab2 ddl commands
 
SQL Server Views
SQL Server ViewsSQL Server Views
SQL Server Views
 
View & index in SQL
View & index in SQLView & index in SQL
View & index in SQL
 
Les11
Les11Les11
Les11
 
SQL Views
SQL ViewsSQL Views
SQL Views
 

Similar to ADBMS Unit-II c

Similar to ADBMS Unit-II c (20)

Unit-1 SQL fundamentals.docx SQL commands used to create table, insert values...
Unit-1 SQL fundamentals.docx SQL commands used to create table, insert values...Unit-1 SQL fundamentals.docx SQL commands used to create table, insert values...
Unit-1 SQL fundamentals.docx SQL commands used to create table, insert values...
 
Sql smart reference_by_prasad
Sql smart reference_by_prasadSql smart reference_by_prasad
Sql smart reference_by_prasad
 
Introduction to sql new
Introduction to sql newIntroduction to sql new
Introduction to sql new
 
Module 3
Module 3Module 3
Module 3
 
Oraclesql
OraclesqlOraclesql
Oraclesql
 
Introduction to Oracle Database.pptx
Introduction to Oracle Database.pptxIntroduction to Oracle Database.pptx
Introduction to Oracle Database.pptx
 
Les09
Les09Les09
Les09
 
DBMS and SQL(structured query language) .pptx
DBMS and SQL(structured query language) .pptxDBMS and SQL(structured query language) .pptx
DBMS and SQL(structured query language) .pptx
 
SQL Query
SQL QuerySQL Query
SQL Query
 
DBMS.pdf
DBMS.pdfDBMS.pdf
DBMS.pdf
 
Sql commands
Sql commandsSql commands
Sql commands
 
Les10 Creating And Managing Tables
Les10 Creating And Managing TablesLes10 Creating And Managing Tables
Les10 Creating And Managing Tables
 
Les10
Les10Les10
Les10
 
Database development coding standards
Database development coding standardsDatabase development coding standards
Database development coding standards
 
Database COMPLETE
Database COMPLETEDatabase COMPLETE
Database COMPLETE
 
Mysql
MysqlMysql
Mysql
 
Database Overview
Database OverviewDatabase Overview
Database Overview
 
Creating a database
Creating a databaseCreating a database
Creating a database
 
Database models and DBMS languages
Database models and DBMS languagesDatabase models and DBMS languages
Database models and DBMS languages
 
Introduction to MySQL - Part 2
Introduction to MySQL - Part 2Introduction to MySQL - Part 2
Introduction to MySQL - Part 2
 

More from SSN College of Engineering, Kalavakkam

More from SSN College of Engineering, Kalavakkam (20)

ECG
ECG ECG
ECG
 
Localization, Classification, and Evaluation.pdf
Localization, Classification, and Evaluation.pdfLocalization, Classification, and Evaluation.pdf
Localization, Classification, and Evaluation.pdf
 
ADBMS 3a
ADBMS   3aADBMS   3a
ADBMS 3a
 
Exercise 5
Exercise   5Exercise   5
Exercise 5
 
ADBMS Unit-II b
ADBMS Unit-II bADBMS Unit-II b
ADBMS Unit-II b
 
Database Management System - 2a
Database Management System - 2aDatabase Management System - 2a
Database Management System - 2a
 
Database Management System
Database Management SystemDatabase Management System
Database Management System
 
Unit III - Inventory Problems
Unit III - Inventory ProblemsUnit III - Inventory Problems
Unit III - Inventory Problems
 
Unit II B - Game Theory
Unit II B - Game TheoryUnit II B - Game Theory
Unit II B - Game Theory
 
Unit II A - Game Theory
Unit II A - Game TheoryUnit II A - Game Theory
Unit II A - Game Theory
 
Unit V - Queuing Theory
Unit V - Queuing TheoryUnit V - Queuing Theory
Unit V - Queuing Theory
 
Unit IV-Project Management
Unit IV-Project ManagementUnit IV-Project Management
Unit IV-Project Management
 
Unit I-B
Unit I-BUnit I-B
Unit I-B
 
Unit I-A
Unit I-AUnit I-A
Unit I-A
 
Web technology Unit-II Part-C
Web technology Unit-II Part-CWeb technology Unit-II Part-C
Web technology Unit-II Part-C
 
Data structure Unit-I Part-C
Data structure Unit-I Part-CData structure Unit-I Part-C
Data structure Unit-I Part-C
 
Data structure unit I part B
Data structure unit I part BData structure unit I part B
Data structure unit I part B
 
Web technology Unit-II Part A
Web technology Unit-II Part AWeb technology Unit-II Part A
Web technology Unit-II Part A
 
Data structure Unit-I Part A
Data structure Unit-I Part AData structure Unit-I Part A
Data structure Unit-I Part A
 
Web technology Unit-I Part E
Web technology Unit-I   Part EWeb technology Unit-I   Part E
Web technology Unit-I Part E
 

Recently uploaded

Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementmkooblal
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...jaredbarbolino94
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 

Recently uploaded (20)

Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of management
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 

ADBMS Unit-II c

  • 1. DDL
  • 2. Create an Oracle Table  A user creates an Oracle table in the SQL*Plus environment.  An Oracle table is created from the SQL>Prompt in the SQL*Plus environment.  A Data Definition Language (DDL) SQL statement, CREATE TABLE, is used for table creation.  A table is created as soon as the CREATE statement is successfully executed by the Oracle Server.
  • 3. Syntax CREATE TABLE [schema.]tablename (column1 datatype [CONSTRAINT constraint name] constraint type…, column2 datatype [CONSTRAINT constraint name] constraint type…, [CONSTRAINT constraint_name] constraint_type (column,…)…);  Schema  optional and it is same as the user’s login name.  Tablename  name of the table given by the user.  Column  name of the single column.  Datatype  column’s data type and size.  Constraint_name  name of constraint provided by the user as per the conventions.  Constraint_type  integrity or value constraint.
  • 4.  Each column may have zero, one or more constraints defined at the column level.  The table level constraints are normally declared after all column definitions.  SQL is not case sensitive.  The reserved words are written in capitalized letters and user-defined names in lower or mixed-case letters.  The spaces, tabs and carriage returns are ignored.
  • 5.  We will debug the statement using SQL*Plus commands only in Oracle9i.  Go to debugging line (* is displayed next to the current line number).  Replace the errored character or spelling mistake in any line, or append a comma(,) to the line.  Execute the debugged statement using a slash (/).
  • 6.  They table is created.  We can edit erroneous statement with the help of an alternate editor, such as notepad.  To load an erroneous statement in notepad and modify it.  At the SQL>prompt, we type Ed (or Edit) to invoke notepad  We make required corrections to the script.  We save our statement on the disk using the save option from the file menu in notepad and we name our statement ‘A:CREATE’.  Notepad adds the extension .txt to the filename.  To suppress Notepad’s default .txt extension, type the file name in a pair of double quotes, and use the extension .sql.  We exit notepad to go back to the SQL*Plus environment.  We can run the saved statement with @ or the RUN command. The “Table created” message is displayed when the statement is error-free. At this point, the table is created and its structure is saved.
  • 7. Storage Clause in Create Table  A Create table statement may have an optional Storage clause.  It is used to allocate initial disk space for the table at the time of creation with the Initial parameter and also to allocate additional space with the next parameter in case the table runs out of allocated initial space. CREATE TABLE divisions (div_no NUMBER(2), div_name VARCHAR2(14), location VARCHAR2(13) ) STORAGE ( INITIAL 100K NEXT 50K MINEXTENTS 1 MAXEXTENTS 50 PCTINCREASE 5);
  • 8.
  • 9. Parameter Description INITIAL The size, in bytes, of the first extent allocated when a segment is created. This parameter cannot be specified in an ALTER statement. NEXT The size, in bytes, of the next incremental extent to be allocated for a segment. The second extent is equal to the original setting for NEXT. From there forward, NEXT is set to the previous size of NEXT multiplied by (1 + PCTINCREASE/100). PCTINCREASE The percentage by which each incremental extent grows over the last incremental extent allocated for a segment. If PCTINCREASE is 0, then all incremental extents are the same size. If PCTINCREASE is greater than zero, then each time NEXT is calculated, it grows by PCTINCREASE. PCTINCREASE cannot be negative. The new NEXT equals 1 + PCTINCREASE/100, multiplied by the size of the last incremental extent (the old NEXT) and rounded up to the next multiple of a block size. MINEXTENTS The total number of extents to be allocated when the segment is created. This allows for a large allocation of space at creation time, even if contiguous space is not available. MAXEXTENTS The total number of extents, including the first, that can ever be allocated for the segment. FREELIST GROUPS The number of groups of free lists for the database object you are creating. Oracle uses the instance number of Oracle Real Application Cluster instances to map each instance to one free list group. For information on the use of this parameter, see Oracle9i Real Application Clusters Administration. Note: This parameter is ignored for objects created in locally managed tablespaces with segment space management specified as AUTO. FREELISTS Specifies the number of free lists for each of the free list groups for the schema object. Not valid for tablespaces.The use of this parameter is discussed in Oracle9i Database Performance Tuning Guide and Reference. Note: This parameter is ignored for objects created in locally managed tablespaces with segment space management specified as AUTO. OPTIMAL Relevant only to rollback segments. See Chapter 13, "Managing Undo Space" for information on the use of this parameter. BUFFER POOL Defines a default buffer pool (cache) for a schema object. Not valid for tablespaces or rollback segments. For information on the use of this parameter, see Oracle9i Database Performance Tuning Guide and Reference.
  • 10.  TABLESPACE clause is used to specify the user’s tablespace name.  If it is not specified, Oracle uses the default permanent tablespace anyway.  The STORAGE clause allocates 1 MB initially on tablespace CIS_DATA and 100 KB additional space on the same tablespace.  The INITIAL and NEXT parameters use values in K (KB) or M (MB).  The PCTFREE (percentage-free) clause is used to allow for future increment in row size.  Oracle recommends the following formula in deciding initial extent size for a table. AVG_ROW_LEN . Number of rows . (1 + 0.15) . (1 + PCTFREE/100)  The AVG_ROW_LEN is a column in USER_TABLES Data Dictionary table.  The 0.15 (15%) is recommended for overhead.
  • 12. Viewing a user’s table names  A users types an SQL statement to retrieve table names.  To review information, to find out what has already been created and what is to be created and to find out all tables owned by you. Syntax SELECT TABLE_NAME FROM USER_TABLES;  Oracle creates system tables to store information about users objects.  USER_TABLES is an Oracle system database table and table has many other colums.  TABLE_NAME is one of its columns.  The display will include all table names you have created and any other can get listing of all tables you own as well as those you are granted privileges to by other users.
  • 13.  Get information about STORAGE clauses attributes by using the Data Dictionary view USER_SEGMENTS Syntax SELECT Segment_Name,Name2 FROM USER_SEGMETNS;
  • 14. Viewing a Table’s Structure  You can display the structure entered by you in table creation statement.  If you have made any changes to the table’s structure.  The command is DESCRIBE OR DESC which doesn’t need a semicolon at the end because it is a not a SQL Statement.  The default display of column names, the NOT NULL constraint, and data type are in uppercase  You didn’t add a NOT NULL constraint for the primary keys, but by default.  Oracle adds it for all primary key columns.
  • 15.
  • 16. Viewing constraint information  Oracle’s Data Dictionary table USER_CONSTRAINTS stores information about constraints have entered for each column.  The statement and the result, which include the constraint’s name and type.  When you type statement, the table name must be typed in uppercase, because Oracle saves table names in uppercase.  If you type the table name in lowercase, no constraint names will be displayed.  The constraints named by the user have more meaningful names than the ones named by Oracle.  Constraints like NOT NULL are usually not named by the user.
  • 17.  Oracle names them using the SYS_Cn format, where n is any number.  Constraint type C is displayed for NOT NULL and CHECK constraints.  Constraint type P for primary key and type R is foreign key constraints.  The ORDER BY clause is added to sort the constraint display by table name.  In this statement, only the table name within single quotes needs to be in uppercase.  Oracle stores table names in that case. select COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_COLUMN_NAME, REFERENCED_TABLE_NAME from information_schema.KEY_COLUMN_USAGE where TABLE_NAME = 'yourTableName'; select CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME from USER_CONS_COLUMNS where TABLE_NAME = 'yourTableName';
  • 18. Viewing tablespace information  A tablespace consists of one or more physical data files.  Get information about all tablespaces available to you by using Data Dictionary view USER_TABLE_SPACES.  Use the DESCRIBE command and the SELECT statement with a view the same way you use with tables.  Data Dictionary view, USER_USERS gives user information about his or her account as well as permanent and temporary tablespace. DESCRIBE user_tablespace SELECT * from USER_TABLESPACE; SELECT * from USER_USERS;
  • 19. Comment on tables and columns  When you create a table, you can add comments to the table and its column.  Do it for documentation purpose with a COMMENT statement.  View information about all comments on tables and columns by using Data Dictionary views ALL_TAB_COMMENTS and ALL_COL_COMMENTS. COMMENT ON TABLE STUDENT IS ‘Table holds students for INDO-US-College’ COMMENT ON COLUMN employee.Lname IS ‘Employee’s last name’
  • 20. Altering an existing table  In a perfect scenario, the table you create will not need any structural modifications.  To plan and design a database that is close to perfect in all respects.  Every perfect tables need changes.  There are certain modifications that you can make to a table’s structure.  There are other modifications that you can’t make to an existing table’s structure.
  • 21. Modifications allowed without any restrictions Modifications allowed with any restrictions Modifications not allowed Adding a new column to the table Deleting a foreign key constraint from a table Adding a foreign key constraint is allowed only if the current values are null or exist in the referenced table’s primary key. Deleting a primary key constraint from a table, which also removes any references to it from other tables in the database with CASCADE clause. Adding a primary key constraint is allowed if the current values are not null and are unique. Increasing the size of a column. Example: Varchar2(15) can be changed to Varchar2(20) Changing a column’s data type and size is allowed only if there is no data in it. In Oracle9i, column size may be decreased if existing data can be stored with the new column width. Renaming columns and constraints (Oracle9i onward) Adding a unique constraint is possible if the current data values are unique. Adding a check constraint is possible if the current data values comply with the new constraint. Adding a default value is possible if there is no data in the column. Changing a column’s name Changing a constraint’s name Removing a column Above all Oracle8 and earlier
  • 22. Adding a new column to an existing table Syntax  ALTER TABLE tablename ADD columnname datatype;  If the table already contained rows of data, you will have to use UPDATE statement for each row to add values in the newly added column.
  • 23. Modifying an existing column Syntax  ALTER TABLE tablename MODIFY columnname newdatatype;  Where newdatatype is the new data type or new size for the column.
  • 24. Adding a constraint Syntax  ALTER TABLE tablename ADD [CONSTRAINT constraint_name] constraint_type (column);  The ALTER table statement that adds a new constraint to the COURSE or same table.  The foreign key column Eid references primary key column CID of its own table.  Such a reference is known as a circular reference. ALTER TABLE course ADD CONSTRAINT COURSE_EID_FK FOREIGN KEY(EID) REFERENCES COURSE(CID);
  • 25.  Use a CHECK constraint will guarantee the necessary data integrity.  The problem is that during creation of the TERM table, defining a constraint that compares values in two columns of the same table is not possible.  To create a foreign key constraint, the parent table, whose primary key column is referenced by the child table’s foreign key column, must already exist in the database.  Even the primary key column that is referenced must exist in the parent table defined as the primary key.  The two columns, the foreign key and the primary key that it references need not have the same name.  To create all tables without any foreign key constraints first, then create tables using CREATE TABLE statement with FOREIGN KEY constraints to the reference tables already created. ALTER TABLE term ADD CONSTRAINT term_startdate_ck CHECK(StartDate < EndDate);
  • 26.  To create all tables with their constraints except for the foreign key constraint.  Once all the tables are created, use the ALTER TABLE statement to add the FOREIGN KEY constraint.  The foreign key must reference a primary key.
  • 27.  NOT NULL constraint and a DEFAULT value to the start term and state columns, respectively.  A user can always overwrite the default value, but if it is left blank or null, the default value is used by Oracle.  To add such constraints, a MODIFY clause is used with an ALTER TABLE statement. ALTER TABLE course MODIFY name varchar(20) CONSTRAINT course_name_nn NOT NULL;
  • 28. Dropping a column (Oracle8i onward)  Only one column can be dropped at a time.  The column may or may not contain any data.  When you drop a column, there must be at least one column left in the table.  It can’t remove the last remaining column from a table.  It is not possible to recover a dropped column and its data.  Syntax ALTER TABLE tablename DROP COLUMN columnname;  Oracle9i also allows a user to mark columna as unused ALTER TABLE tablename SET UNUSED (columnname);  Syntax ALTER TABLE student SET UNUSED (age);
  • 29.  The unused columns are liked dropped columns.  This is not a very good feature, because the storage space used by unused columns is not released.  They aren’t displayed with other columns or in the table’s structure, and the user can drop all unused columns.  Setting a column to unused is quicker than dropping a column and it requires fewer system resources.  It can remove all unused columns when system resources are in less demand.  Syntax ALTER TABLE tablename DROP UNUSED columns;  Example ALTER TABLE student DROP UNUSED columns;  If no columns are marked as unused, this statement doesn’t return any error messages.
  • 30. Dropping a constraint  It can view constraint information from the USER_CONSTRAINTS table or the USER_CONS_COLUMNS table.  A dropped constraint is no longer enforced by Oracle, and it doesn’t show up in the list of USER_CONSTRAINTS or USER_CONS_COLUMNS.  You can drop a constraint by using its name, which is why it is important to name all constraints with a standard naming conversion.  Syntax ALTER TABLE tablename DROP PRIMARY KEYUNIQUE (columnname) | CONSTRAINT constraintname [CASCADE]; ALTER TABLE major DROP PRIMARY KEY CASCADE; ALTER TABLE employee DROP CONSTRAINT employee_deptid_fk;
  • 31. Enabling/Disabling Constraints  A newly created constraint is enabled automatically.  A constraint verifies table data as they are added or updated.  This verification slows down the process, so you may want to disable a constraint if you are going to add or update large volume of data.  When you re-enable the constraint, Oracle checks the validity of the data and for any violations.  You may disable multiple constraints with one ALTER TABLE statement, but you may only enable one constraint at a time.
  • 32.  There is no CASCADE clause with ENABLE.  This enable and disable clauses can also be used in a CREATE TABLE statement  Syntax ALTER TABLE tablename ENABLE/DISABLE CONSTRAINT constraintname; ALTER TABLE tablename ENABLE/DISABLE PRIMARY KEY; ALTER TABLE major DISABLE PRIMARY KEY ; ALTER TABLE employee ENABLE employee_deptid_fk;
  • 33. Tables Explanation Renaming a column (Oracle9i version 9.2 onward) ALTER TABLE tablename RENAME COLUMN oldname to newname; Renaming a constraint (Oracle9i version 9.2 onward) ALTER TABLE tablename RENAME CONSTRAINT oldname to newname; Modifying storage of a table ALTER TABLE tablename STORAGE (NEXT nk); It can change storage attributes of a table, such as NEXT, PCTFREE, and so on.
  • 34. Dropping a table  When a table is not needed in the database, it can be dropped.  When a table is dropped, all data and the table structure are permanently deleted.  The DROP operation can’t be reversed.  You can drop a table only if you are the owner of the table or have the rights to do so.  Many other objects based on the dropped table are affected.  All associated indexes are removed.  The table’s views and synonyms become invalid.  Oracle displays a “Table dropped” message when a table is successfully dropped.  If you add the optional CASCADE CONSTRAINTS clause, it removes foreign key references to the table as we..  Syntax DROP TABLE tablename [CASCADE Constraints];
  • 35. Renaming a table  You can remove a table provided are the owner of the table.  Oracle displays a “Table dropped” message when this statement is executed.  The RENAME statement can be used to change name of other Oracle objects, such as view, synonym or sequence.  Syntax RENAME oldname to newname; RENAME dept to department;
  • 36. Truncating a table  It is removing all records/ rows from the table.  The SQL language has a DELETE statement that can be used to remove on or more rows from the table and it is reversible as long as it is not committed.  The TRUNCATE statement, is not reversible.  It releases storage space occupied by the table, but deletion does not.  Syntax TRUNCATE TABLE Tablename;
  • 37.  Oracle displays a “Table truncated” message on this statement execution.  The truncate operation releases all table storage except for the initially allocated extent.  It can keep all the storage used by table with the REUSE STORAGE clause  Syntax TRUNCATE TABLE TablenameREUSE STORAGE;
  • 38. Oracle’s Various Table Types Types Explanantion Permanent Tables It used for storing data Temporary Tables It used during a session or a transaction and like permanent tables, but they aren’t stored permanently. They store data during a session or a transaction They are created with CREATE GLOBAL TEMPORARY TABLE statement Index organized Tables It used for tables with primary key values that are looked up frequently. They are created with a CREATE TABLE tablename…… ORGANIZATION INDEX statement. External Tables They are stored “outside” the database with CREATE TABLE tablename …. ORGANIZATION EXTERNAL statement. These tables are based on flat directory path is made known to Oracle with a CREATE DIRECTORY statement. In most cases, the end user works with permanent data tables only.
  • 39. Spooling  It is a very handy feature.  During a session, a user can redirect all statements, queries, commands and results to a file for later review or printout.  The spooling method creates a text file of all actions and their results.  It is redirected to the file, which is saved with an .lst extension by default.  Start  File menu in SQL*Plus window.  Click  Spool on Spool File and enter file name, which will be created with an .lst extension.  To stop spooling at any point, use the same menu to click on Spool Off.  When spooling is turned off, the file is saved to the disk and closed.  The spooled file can be opened in any text editor, such as Notepad, for viewing or printing.