SQL: DDL John Ortiz Cs.utsa.edu.

Slides:



Advertisements
Similar presentations
Relational Database. Relational database: a set of relations Relation: made up of 2 parts: − Schema : specifies the name of relations, plus name and type.
Advertisements

Database Management Systems, R. Ramakrishnan and J. Gehrke1 The Relational Model Chapter 3.
SQL Lecture 10 Inst: Haya Sammaneh. Example Instance of Students Relation  Cardinality = 3, degree = 5, all rows distinct.
Fall 2005 ICS184/EECS116 – Notes 08 1 ICS 184/EECS116: Introduction to Data Management Lecture Note 8 SQL: Structured Query Language -- DDL.
1 Designing Tables for an Oracle Database System Database Course, Fall 2003.
Overview Begin 6:00 Quiz15 mins6:15 Review Table Terms25 mins6:40 Short Break10 mins6:50 SQL: Creating Tables60 mins7:50 Break10 mins8:00 Lab – Creating.
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.
Cs3431 Constraints Sections 6.1 – 6.5. cs3431 Example CREATE TABLE Student ( sNum int, sName varchar (20), prof int, CONSTRAINT pk PRIMARY KEY (snum),
CMPT 354, Simon Fraser University, Fall 2008, Martin Ester 28 Database Systems I The Relational Data Model.
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 Relational Model. 2 Relational Database: Definitions  Relational database: a set of relations  Relation: made up of 2 parts: – Instance : a table,
The Relational Model Lecture 3 Book Chapter 3 Relational Data Model Relational Query Language (DDL + DML) Integrity Constraints (IC) From ER to Relational.
Murali Mani SQL DDL and Oracle utilities. Murali Mani Datatypes in SQL INT (or) INTEGER FLOAT (or) REAL DECIMAL (n, m) CHAR (n) VARCHAR (n) DATE, TIME.
SQL DDL constraints Restrictions on the columns and tables 1SQL DDL Constraints.
Database Management System LICT 3011 Eyad H. Elshami.
Database Constraints. Database constraints are restrictions on the contents of the database or on database operations Database constraints provide a way.
Oracle Data Definition Language (DDL)
Copyright © Curt Hill SQL The Data Definition Language.
The Relational Model These slides are based on the slides of your text book.
SQL: Overview and DDL Ch John Ortiz.
The Relational Model. Review Why use a DBMS? OS provides RAM and disk.
Database Design lecture 3_1 1 Database Design Lecture 3_1 Data definition in SQL.
SQL Data Definition (CB Chapter 6) CPSC 356 Database Ellen Walker Hiram College (Includes figures from Database Systems by Connolly & Begg, © Addison Wesley.
SQL data definition using Oracle1 SQL Data Definition using Oracle.
1 The Relational Model Instructor: Mohamed Eltabakh
Ms. Hatoon Al-Sagri CCIS – IS Department SQL-99 :Schema Definition, Constraints, Queries, and Views 1.
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.
1 The Relational Model. 2 Why Study the Relational Model? v Most widely used model. – Vendors: IBM, Informix, Microsoft, Oracle, Sybase, etc. v “Legacy.
FALL 2004CENG 351 File Structures and Data Management1 Relational Model Chapter 3.
SQL: DDL. SQL Statements DDL - data definition language –Defining and modifying data structures (metadata): database, tables, views, etc. DML - data manipulation.
SQL Basics. What is SQL? SQL stands for Structured Query Language. SQL lets you access and manipulate databases.
Dec 8, 2003Murali Mani Constraints B term 2004: lecture 15.
Tables and Constraints Oracle PL/SQL. Datatypes The SQL Data Definition Language Commands (or DDL) enable us to create, modify and remove database data.
10 Copyright © Oracle Corporation, All rights reserved. Including Constraints.
Database Lab Lecture 1. Database Languages Data definition language ( DDL ) Data definition language –defines data types and the relationships among them.
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.
Constraints and Triggers. What’s IC? Integrity Constraints define the valid states of SQL-data by constraining the values in the base tables. –Restrictions.
9 Copyright © 2004, Oracle. All rights reserved. Using DDL Statements to Create and Manage Schema Objects.
Visual Programing SQL Overview Section 1.
Lecture5: SQL Overview, Oracle Data Type, DDL and Constraints Ref. Chapter6 Lecture4 1.
Sql DDL queries CS 260 Database Systems.
CMPT 258 Database Systems The Relationship Model (Chapter 3)
Week 8-9 SQL-1. SQL Components: DDL, DCL, & DML SQL is a very large and powerful language, but every type of SQL statement falls within one of three main.
©Silberschatz, Korth and Sudarshan1 Structured Query Language (SQL) Data Definition Language Domains Integrity Constraints.
Altering Tables and Constraints Database Systems Objectives Add and modify columns. Add, enable, disable, or remove constraints. Drop a table. Remove.
1 CS 430 Database Theory Winter 2005 Lecture 11: SQL DDL.
CS34311 The Relational Model. cs34312 Why Relational Model? Currently the most widely used Vendors: Oracle, Microsoft, IBM Older models still used IBM’s.
Relational Database Management System(RDBMS) Structured Query Language(SQL)
Lecture # 24 Introduction to SQL Muhammad Emran Database Systems.
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.
1 Designing Tables for a Database System. 2 Where we were, and where we’re going The Entity-Relationship model: Used to model the world The Relational.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 The Relational Model Chapter 3.
1 CS122A: Introduction to Data Management Lecture #4 (E-R  Relational Translation) Instructor: Chen Li.
CENG 351 File Structures and Data Management1 Relational Model Chapter 3.
Managing Tables, Data Integrity, Constraints by Adrienne Watt
SQL: Schema Definition and Constraints Chapter 6 week 6
Constraints and Triggers
Instructor: Mohamed Eltabakh
The Relational Model Relational Data Model
SQL data definition using Oracle
Oracle Data Definition Language (DDL)
SQL-1 Week 8-9.
Session - 6 Sequence - 1 SQL: The Structured Query Language:
Instructor: Mohamed Eltabakh
Session - 6 Sequence - 1 SQL: The Structured Query Language:
Presentation transcript:

SQL: DDL John Ortiz Cs.utsa.edu

SQL Data Definition Language Used by DBA or Designer to specify schema A set of statements used to define and to change the definition of tables, columns, data types, constraints, views, indexes, … SQL DDL & DML are integrated. A DDL statement often needs to contain some DML statements. Lecture 10 SQL: Overview

A Sample University Schema Students(SID:string, Name:string, Age:integer, Sex:char, Major:string, GPA:real) Courses(Cno:string, Title:string, Hours:integer, Dept:string) Enrollment(SID:string, Cno:string, Year:string, Grade:string) Offers(Cno:string, Year:integer, FID:string) Faculty(FID:string, Name:string, Rank:string, Dept:string, Salary:real) Departments(Name:string, Location:string, ChairID:string) Lecture 10 SQL: Overview

Create Students Table In SQL*Plus: SQL> create table Students 2 (SID char(9) not null, 3 Name varchar2(25), 4 Age integer, 5 Sex char(1), 6 Major char(4), 7 GPA number(3,2), 8 primary key (SID)); Lecture 10 SQL: Overview

Create Tables Syntax create table Table-Name ( Col-Name Type Deft-Val Col-Constraint, … Table-Constraint, Table-Constraint); Lecture 10 SQL: Overview

Oracle SQL Built-in Data Types char(n). String of n < 2000 char varchar2(n). String up to n <= 4000 char long. Char string of length up to 2GB number(n,m). n digits, m after decimal point. number. Integer or real up to 40 digits integer. Integer up to 40 digits blob. Binary data up to 4 GB date. DD-MMM-YY time. HH:MM:SS These may differ from SQL2 & SQL-1999. Lecture 10 SQL: Overview

SQL Integrity Constraints Rules or regulations imposed to ensure data integrity. Column Constraints. Table Constraints. Assertions (Multiple-table Constraints). Triggers. Primary Key, Foreign Key, Check, Not Null, Unique, … Lecture 10 SQL: Overview

Column Definition Syntax for column definition: col_name data_type [default value] [column constraints] Syntax for column constraints: [constraint constraint_name] [not] null | check condition | unique | primary key | references table_name [(column)] [on delete cascade] Lecture 10 SQL: Overview

Column Constraints not null. Can not take null value. unique. Can not have identical non-null values primary key. Both not null and unique references T(A). All non-null values must be currently in T.A. check (condition). Values must satisfy the check condition. Can be expressed as table constraints, too. Lecture 10 SQL: Overview

Column Constraints Example SQL> create table Courses (CNo char(6) primary key, Title varchar2(50) not null, Hours integer default 3 check (Hours > 0 and hours < 6), Dept varchar2(20) references Departments(Name)); Lecture 10 SQL: Overview

Table Constraints Syntax for table constraints: [constraint constraint_name] check condition | unique (column {, column}) | primary key (column {, column}) | foreign key (column {, column}) references table_name[(column {, column})] [on delete cascade] Lecture 10 SQL: Overview

Table Constraints Example SQL> create table Enrollment (SID char(9) not null references Students, CNo varchar2(7) not null, Year number(2) not null, Grade char(2), primary key (SID, CNo, Year), foreign key (CNo) references Courses); Lecture 10 SQL: Overview

Table Constraints Example (cont.) SQL> create table Students (SID char(9) primary key, Name varchar2(25), Age integer check(Age > 18 and Age < 100), Sex char check(Sex in {‘F’, ‘M’}), Major varchar2(4) GPA number (3,2) not null, constraint ic12 check (GPA >= 2.0 and (Major = ‘IS’ or GPA >= 3.0))); Lecture 10 SQL: Overview

Referential Integrity & Data Update Assume that Courses.Dept references Departments.Name. What should the system do to students if we change a department’s name or delete a department? SQL provides four options: No action. Disallow such an update. Cascade. Accept update and update all affected foreign key values. Set default. Accept update & set default FK. Set null. Accept update & set FK to null. Lecture 10 SQL: Overview

Referential Integrity Example SQL>create table Courses ( CNo char(6) not null primary key, Title varchar(35) not null, Hours int check (Hours between 1 and 5), Dept varchar(20), foreign key (Dept) references Departments(Name) on delete no action on update cascade); Lecture 10 SQL: Overview

Drop Table Delete schema definition of a table. drop table Table-Name; Problem: drop table Departments will fail if it is referenced by foreign keys. Solution: drop table Departments cascade constraints; All referential constraints will be dropped before the table is dropped. Lecture 10 SQL: Overview

Alter Table Change table schema (even after entering data) Add a new column. alter table Students add (Address varchar2(40)); Add a new constraint. alter table Students add (unique(Address)); Modify a column definition. modify (Name varchar2(30)); Lecture 10 SQL: Overview

Alter Table (cont.) Remove a column. alter table Students drop (Address); Enable and disable a constraint on a table alter table Students enable constraint ic12; alter table Students disable constraint ic12; Newly added column can not be specified as not null. Can not modify a column to a type of a smaller size. Changing data type is not allowed. Imposing a constraint that does not hold for current data is not allowed. Lecture 10 SQL: Overview

Simple Update Statements Insert Statement: insert into table_name [(column {, column})] [values (expression {, expression})] Update Statement: update table_name [corr_name] set column = {expression | null} {, column = {expression | null}} [where search_condition] Delete Statement: delete from table_name Lecture 10 SQL: Overview

Example of Update insert into Students values (`123456789', `Kathy', 26, ‘F’, ‘CS’, null) or insert into Students (Name, SID, Age, Major, Sex) values (`Kathy', `123456789', 26, ‘CS’, ‘F’) Lecture 10 SQL: Overview

Example of Update (cont.) Increase the GPA of the student with SID = 123456789 by 0.5. update Students set GPA = GPA + 0.5 where SID = '123456789‘ Delete all tuples from Students. delete from Students The schema of Students remains. Lecture 10 SQL: Overview

Data Dictionary Data dictionary (system catalog) contains information about all database objects (tables, views, indexes, sequences, etc). Common Oracle Data Dictionary Tables user_objects(object_name, object_id, object_type, created, last_ddl_time, timestamp, status) Example database objects include tables, views, sequences, indexes, and packages. Lecture 10 SQL: Overview

Data Dictionary (cont.) user_tables(table_name, tablespace_name, num_rows, blocks, empty_blocks, avg_row_len) user_tab_columns(name, table_name, column_name, data_type, data_length, nullable, column_id, default_length, data_default, num_distinct, low_value, high_value) Use select * from dictionary to see all system tables and views. Use describe table-name to view a schema. Lecture 10 SQL: Overview

DDL Summary Specify appropriate data type for each column. You may also define your own domains. Specify as many constraints as needed for applications. Specify desirable actions for foreign key constraints. Not all constraints can be specified at the same time. It is necessary to update schemas. Major schema change after data is entered is very costly. Lecture 10 SQL: Overview