Oracle Data Definition Language (DDL)

Slides:



Advertisements
Similar presentations
MySQL. To start go to Login details: login: labuser password:macimd15 – There.
Advertisements

SQL’s Data Definition Language (DDL) n DDL statements define, modify and remove objects from data dictionary tables maintained by the DBMS n Whenever you.
Sanjay Goel, School of Business, University at Albany, SUNY 1 SQL- Data Definition Language ITM 692 Sanjay Goel.
1 A GUIDE TO ORACLE8 CHAPTER 2: Creating and ModifyingDatabaseTables 2.
Introduction to Structured Query Language (SQL)
SQL components In Oracle. SQL in Oracle SQL is made up of 4 components: –DDL Data Definition Language CREATE, ALTER, DROP, TRUNCATE. Creates / Alters.
1 Chapter 2: Creating and Modifying Database Tables.
Creating Database Tables © Abdou Illia MIS Spring /21/2015.
30-Jun-15 SQL A Brief Introduction. SQL SQL is Structured Query Language Some people pronounce SQL as “sequel” Other people insist that only “ess-cue-ell”
Introduction to Structured Query Language (SQL)
Database Management System LICT 3011 Eyad H. Elshami.
Introduction to SQL  SQL or sequel  It is a standardised language with thousands of pages in the standard  It can be in database system through GUI,
Exam 2 Review Dr. Bernard Chen Ph.D. University of Central Arkansas.
Structured Query Language (SQL) A2 Teacher Up skilling LECTURE 2.
A Guide to SQL, Eighth Edition Chapter Three Creating Tables.
Working with Tables: Data Management and Retrieval Dr. Bernard Chen Ph.D. University of Central Arkansas.
Dr. Chen, Oracle Database System (Oracle) 1 Chapter 4 Constraints Jason C. H. Chen, Ph.D. Professor of MIS School of Business Gonzaga University Spokane,
Database Design lecture 3_1 1 Database Design Lecture 3_1 Data definition in SQL.
Final Review Dr. Bernard Chen Ph.D. University of Central Arkansas.
SQL data definition using Oracle1 SQL Data Definition using Oracle.
CS 3630 Database Design and Implementation. Your Oracle Account UserName is the same as your UWP username Followed Not case sensitive Initial.
SQL data definition using Oracle1 SQL Data Definition using Oracle.
Oracle Data Definition Language (DDL) Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2008.
10 Copyright © 2009, Oracle. All rights reserved. Using DDL Statements to Create and Manage Tables.
1 Copyright © 2006, Oracle. All rights reserved. Using DDL Statements to Create and Manage Tables.
Copyright © 2004, Oracle. All rights reserved. Using DDL Statements to Create and Manage Tables.
1 Creating and Modifying Database Objects. 2 An Oracle database consists of multiple user accounts Each user account owns database objects Tables Views.
7 1 Chapter 7 Introduction to Structured Query Language (SQL) Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
SQL: DDL John Ortiz Cs.utsa.edu.
SQL: DDL. SQL Statements DDL - data definition language –Defining and modifying data structures (metadata): database, tables, views, etc. DML - data manipulation.
6 1 Lecture 8: Introduction to Structured Query Language (SQL) J. S. Chou, P.E., Ph.D.
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
SQL Fundamentals  SQL: Structured Query Language is a simple and powerful language used to create, access, and manipulate data and structure in the database.
Tables and Constraints Oracle PL/SQL. Datatypes The SQL Data Definition Language Commands (or DDL) enable us to create, modify and remove database data.
1 SQL - II Data Constraints –Applying data constraints Types of data constraints –I/O constraints The PRIMARY KEY constraints The FOREIGN KEY constraints.
Chapter 9 Constraints. Chapter Objectives  Explain the purpose of constraints in a table  Distinguish among PRIMARY KEY, FOREIGN KEY, UNIQUE, CHECK,
Oracle 11g: SQL Chapter 4 Constraints.
Database Lab Lecture 1. Database Languages Data definition language ( DDL ) Data definition language –defines data types and the relationships among them.
Copyright  Oracle Corporation, All rights reserved. Introduction.
CREATE TABLE CREATE TABLE statement is used for creating relations Each column is described with three parts: column name, data type, and optional constraints.
Prince Sultan University Dept. of Computer & Information Sciences CS 340 Introduction to Database Systems.
Chapter 4 Constraints Oracle 10g: SQL. Oracle 10g: SQL 2 Objectives Explain the purpose of constraints in a table Distinguish among PRIMARY KEY, FOREIGN.
SQL: Part 1 Original materials supplied by the Oracle Academic Initiative (OAI). Edited for classroom use by Professor Laku Chidambaram. Not for commercial.
9 Copyright © 2004, Oracle. All rights reserved. Using DDL Statements to Create and Manage Schema Objects.
INCLUDING CONSTRAINTS lecture5. Outlines  What are Constraints ?  Constraint Guidelines  Defining Constraint  NOT NULL constraint  Unique constraint.
Lecture5: SQL Overview, Oracle Data Type, DDL and Constraints Ref. Chapter6 Lecture4 1.
SQL CREATING AND MANAGING TABLES lecture4 1. Database Objects ObjectDescription TableBasic unit of storage; composed of rows and columns ViewLogically.
IS 380 Introduction to SQL This lectures covers material from: database textbook chapter 3 Oracle chapter: 3,14,17.
1 Chapter 2: Creating and Modifying Database Objects.
Sql DDL queries CS 260 Database Systems.
Altering Tables and Constraints Database Systems Objectives Add and modify columns. Add, enable, disable, or remove constraints. Drop a table. Remove.
Relational Database Management System(RDBMS) Structured Query Language(SQL)
Starting with Oracle SQL Plus. Today in the lab… Connect to SQL Plus – your schema. Set up two tables. Find the tables in the catalog. Insert four rows.
Basic SQL*Plus edit and execute commands SQL*Plus buffer and built-in editor holds the last SQL statement Statements are created in free-flow style and.
Chapter 3 Table Creation and Management Oracle 10g: SQL.
Physical Model Lecture 11. Physical Data Model The last step is the physical design phase, In this phase data is – Store – Organized and – Access.
CDT/1 Creating data tables and Referential Integrity Objective –To learn about the data constraints supported by SQL2 –To be able to relate tables together.
SQL Statements SELECT INSERTUPDATEDELETECREATEALTERDROPRENAMETRUNCATECOMMITROLLBACKSAVEPOINTGRANTREVOKE Data Retrieval Language (DRL) Data Retrieval Language.
Creating and Managing Tables. Database Objects ObjectDescription TableBasic unit of storage; composed of rows and columns ViewLogically represents subsets.
Fundamentals of DBMS Notes-1.
Fundamental of Database Systems
TABLES AND INDEXES Ashima Wadhwa.
Managing Tables, Data Integrity, Constraints by Adrienne Watt
SQL: Schema Definition and Constraints Chapter 6 week 6
ORACLE SQL Developer & SQLPLUS Statements
SQL data definition using Oracle
Oracle Data Definition Language (DDL)
Session - 6 Sequence - 1 SQL: The Structured Query Language:
Chapter 2: Creating And Modifying Database Tables
SQL (Structured Query Language)
Presentation transcript:

Oracle Data Definition Language (DDL) Dr. Bernard Chen Ph.D. University of Central Arkansas

In this lecture You will learn about Data Definition Language (DDL) statements to work with the structure of an Oracle database table. Various data types used in defining columns in a database table. Integrity and value constraints Viewing, modifying, and removing a table structure.

Create Table example CREATE TABLE student (StudentId CHAR (5), Last VARCHAR2 (15) CONSTRAINT student_last_nn NOT NULL, First VARCHAR2 (15) CONSTRAINT student_first_nn NOT NULL, Street VARCHAR2 (25), City VARCHAR2 (15), State CHAR (2) DEFAULT 'NJ', Zip CHAR (5), StartTerm CHAR (4), BirthDate DATE, FacultyId NUMBER (3), MajorId NUMBER (3), Phone CHAR (10), CONSTRAINT student_studentid_pk PRIMARY KEY (StudentID));

NAMING RULES AND CONVENTIONS A table is an object that can store data in an Oracle database. When you create a table, you must specify the table name, the name of each column, the data type of each column, and the size of each column.

NAMING RULES AND CONVENTIONS Oracle provides you with different constraints to specify a primary or a composite key for the table, to define a foreign key in a table that references a primary key in another table, to set data validation rules for each column, to specify whether a column allows NULL values, and to specify if a column should have unique values only.

Data Types When a table is created, each column in the table is assigned a data type. Some important data types: Varchar2 Char Number

Varchar2 The VARCHAR2 type is a character data type to store variable-length alphanumeric data in a column. The size is specified within parentheses, for example, VARCHAR2(20). If the data are smaller than the specified size, only the data value is stored, and trailing spaces are not added to the value. VARCHAR2 is the most appropriate type for a column whose values do not have a fixed length.  

Char The CHAR type is a character data type to store fixed-length alphanumeric data in a column. The CHAR data type uses the storage more efficiently and processes data faster than the VARCHAR2 type.

Number -- integer An integer is a whole number without any decimal part.  The data type for it would be defined as NUMBER(3), where 3 represents the maximum number of digits.

Number The NUMBER data type is used to store negative, positive, integer, fixed-decimal, and floating-point numbers. When a number type is used for a column, its precision and scale can be specified. Precision is the total number of significant digits in the number, both to the left and to the right of the decimal point. Scale is the total number of digits to the right of the decimal point.

Number – fixed-point decimal number has a specific number of digits to the right of the decimal point. The PRICE column has values in dollars and cents, which requires two decimal places - for example, values like 2.95, 3.99, 24.99, and so on.  If it is defined as NUMBER(4,2), the first number specifies the precision and the second number the scale.

Number – floating-point A floating-point decimal number has a variable number of decimal places To define such a column, do not specify the scale or precision along with the NUMBER type. By defining a column as a floating-point number, a value can be stored in it with very high precision

All Oracle Types

Types of Constraints There are two types of constraints: 1. Integrity constraints: define both the primary key and the foreign key with the table and primary key it references. 2. Value constraints: define if NULL values are disallowed, if UNIQUE values are required, and if only certain set of values are allowed in a column.

Create Table example CREATE TABLE student (StudentId CHAR (5), Last VARCHAR2 (15) CONSTRAINT student_last_nn NOT NULL, First VARCHAR2 (15) CONSTRAINT student_first_nn NOT NULL, Street VARCHAR2 (25), City VARCHAR2 (15), State CHAR (2) DEFAULT 'NJ', Zip CHAR (5), StartTerm CHAR (4), BirthDate DATE, FacultyId NUMBER (3), MajorId NUMBER (3), Phone CHAR (10), CONSTRAINT student_studentid_pk PRIMARY KEY (StudentID));

Naming a Constraint The general convention used for naming constraints is <table name>_<column name>_<constraint type> table name is the name of the table where the constraint is being defined, column name is the name of the column to which the constraint applies, and constraint type is an abbreviation used to identify the constraint’s type.

Naming a Constraint For example, a constraint name emp_deptno_pk refers to: a constraint in table EMP on column DeptNo of type foreign key. A constraint name dept_deptno_pk is for a primary key constraint in table DEPT on column DeptNo.

Popular Constraint abbreviations Primary Key pk Foreign Key fk Unique uk Check ck Not Null nn

Defining a Constraint A constraint can be created at the same time the table is created, or it can be added to the table afterward. There are two levels where a constraint is defined: Column level. Table level.

Column level A column-level constraint references a single column and is defined along with the definition of the column.  Any constraint can be defined at the column level except for a FOREIGN KEY and COMPOSITE primary key constraints. Column datatype [CONSTRAINT constraint_name] constraint_type Example: Building VARCHAR2(7) CONSTRAINT location_building_nn NOT NULL

Table level A table-level constraint references one or more columns and is defined separately from the definitions of the columns. Normally, it is written after all columns are defined. All constraints can be defined at the table level except for the NOT NULL constraint. [CONSTRAINT constraint_name] constraint_typ (Column, . . .), Example: CONSTRAIN location_roomid_pk PRIMARY KEY(Roomid)

The Primary Key Constrain The PRIMARY KEY constraint is also known as the entity integrity constraint It creates a primary key for the table. A table can have only one primary key constraint.  If a table uses more than one column as its primary key (i.e., a composite key), the key can only be declared at the table level. 

The Primary Key Constrain At the column level, the constraints is defined by DeptId NUMBER (2) CONSTRAINT dept_deptid_pk PRIMARY KEY, At the table level, the constraint is defined by CONSTRAINT dept_deptid_pk PRIMARY KEY(DeptId),

The FOREIGN KEY Constraint The FOREIGN KEY constraint is also known as the referential integrity constraint. It uses a column or columns as a foreign key, and it establishes a relationship with the primary key of the same or another table. 

The FOREIGN KEY Constraint To establish a foreign key in a table, the other referenced table and its primary key must already exist.  Foreign key and referenced primary key columns need not have the same name, but a foreign key value must match the value in the parent table’s primary key value or be NULL

The FOREIGN KEY Constraint At the column level FacultyId char(5) CONSTRAINT student_facultyid_fk FOREIGN KEY(FacultyId) REFERENCES faculty (FacultyId), At the table level CONSTRAINT student_facultyid_fk FOREIGN KEY(FacultyId) REFERENCES faculty (FacultyId),

Foreign Keys with cascade delete A foreign key with cascade delete means that if a record in the parent table is deleted, then the corresponding records in the child table with automatically be deleted. This is called a cascade delete in Oracle.

Example

Example In this example, we've created a primary key on the supplier table called supplier_pk. It consists of only one field - the supplier_id field. Then we've created a foreign key called fk_supplier on the products table that references the supplier table based on the supplier_id field. Because of the cascade delete, when a record in the supplier table is deleted, all records in the products table will also be deleted that have the same supplier_id value.

Foreign Keys with set NULL delete A foreign key with "set null on delete" means that if a record in the parent table is deleted, then the corresponding records in the child table will have the foreign key fields set to null. The records in the child table will not be deleted.

Example

Example In this example, we've created a primary key on the supplier table called supplier_pk. It consists of only one field - the supplier_id field. Then we've created a foreign key called fk_supplier on the products table that references the supplier table based on the supplier_id field. Because of the set null on delete, when a record in the supplier table is deleted, all corresponding records in the products table will have the supplier_id values set to null.

The NOT NULL Constraint The NOT NULL constraint ensures that the column has a value and the value is not a null value A space or a numeric zero is not a null value At the column level ONLY, the constraint is defined by: Name VARCHAR2(15) CONSTRAINT faculty_name_nn NOT NULL,

The UNIQUE Constraint The UNIQUE constraint requires that every value in a column or set of columns be unique. At the column level, the constraint is defined by: DeptName VARCHAR2(12) CONSTRAINT dept_deptname_uk UNIQUE, At the table level, the constraint is defined by CONSTRAINT dept_deptname_uk UNIQUE(DeptName),

The CHECK Constraint The CHECK constraint defines a condition that every row must satisfy At the column level, the constraint is defined by DeptId NUMBER(2) CONSTRAINT dept_deptid_cc CHECK((DeptId >= 10) and (DeptId <= 99)), At the table level, the constraint is defined by: CONSTRAINT dept_deptid_cc

CREATING AN ORACLE TABLE A table is created as soon as the CREATE statement is successfully executed by the Oracle server. The general syntax of CREATE TABLE statement is CREATE TABLE [schema.] tablename (column1 datatype [CONSTRAINT constraint_name] constraint_type . . ., (column2 datatype [CONSTRAINT constraint_name] constraint_type, [CONSTRAINT constraint_name] constraint_type (column, . . . ), . . . );

Create Table example CREATE TABLE student (StudentId CHAR (5), Last VARCHAR2 (15) CONSTRAINT student_last_nn NOT NULL, First VARCHAR2 (15) CONSTRAINT student_first_nn NOT NULL, Street VARCHAR2 (25), City VARCHAR2 (15), State CHAR (2) DEFAULT 'NJ', Zip CHAR (5), StartTerm CHAR (4), BirthDate DATE, FacultyId NUMBER (3), MajorId NUMBER (3), Phone CHAR (10), CONSTRAINT student_studentid_pk PRIMARY KEY (StudentID));

Viewing a Table’s Structure The SQL*Plus command to view a table’s structure is DESCRIBE, which does not need a semicolon at the end because it is not a SQL statement. SQL> DESCRIBE student

Adding a New Column to an Existing Table The general syntax to add a column to an existing table is ALTER TABLE tablename ADD columnname datatype; SQL> ALTER TABLE student 2 ADD SocialSecurity CHAR(9); Table altered. SQL>

Modifying an Existing Column The general syntax to modify an existing column is ALTER TABLE tablename MODIFY columnname newdatatype; where newdatatype is the new data type or the new size for the column. SQL> ALTER TABLE student 2 MODIFY SocialSecurity VARCHAR2(11); Table altered. SQL>

Adding a Constraint To add a constraint using ALTER TABLE, the syntax for table level constraint is used. The general syntax of ALTER TABLE is ALTER TABLE tablename ADD [CONSTRAINT constraint_name] constraint_type (column, …), SQL> ALTER TABLE COURSE 2 ADD CONSTRAINT COURSE_PREREQ_FK FOREIGN KEY (PREREQ) 3 REFERENCES COURSE(COURSEID); Table altered. SQL>

Displaying Table Information When a user creates a table or many tables in the database, Oracle tracks them using its own data dictionary Viewing a User’s Table Names SELECT TABLE_NAME FROM USER_TABLES; To display all information: SELECT * FROM USER_TABLES;

Dropping a Column The general syntax is ALTER TABLE tablename DROP COLUMN columnname;

Dropping a Table The general syntax is DROP TABLE tablename [CASCADE CONSTRAINTS]; For example, DROP TABLE sample; Oracle displays a “Table dropped” message when a table is successfully dropped. If you add optional CASCADE CONSTRAINTS clause, it removes foreign key references to the table also.

Download Oracle Go to http://www.oracle.com/technetwork/indexes/downloads/index.html Select Database 11g standard edition or express edition Sign up and download

SQL code execution To start: SQL> CONNECT system (and then type in password) Then create a file: SQL> edit test (test is file name) remember to store the file in *.sql C:\oraclexe\app\oracle\product\11.2.0\server\bin Once you done coding, execute the code: SQL> @c:\test.sql (test is file name)

Create New Account Here is how to create a new account: CREATE USER abc IDENTIFIED BY password; Also, don’t forget to give create session ability and create table ability to the new account GRANT CREATE SESSION TO <username>; GRANT CREATE TABLE TO <username>; GRANT UNLIMITED TABLESPACE TO <username>;