SQL:1999 additional features. Object-oriented concepts Object relational concepts in SQL:1999 Active database concepts Active concepts in SQL:1999

Size: px
Start display at page:

Download "SQL:1999 additional features. Object-oriented concepts Object relational concepts in SQL:1999 Active database concepts Active concepts in SQL:1999"

Transcription

1 SQL:1999 additional features Object-oriented concepts Object relational concepts in SQL:1999 Active database concepts Active concepts in SQL:1999

2 Additional features : Motivation Not in relational model: Structured attributes - Compound records, Sets - Sub-tables - Not 1NF! Operations (methods) Inheritance between relations - ER generalization not supported directly Activity Rules 9.2

3 Object Orientation: OO DBMS 1. Idea: - Make object oriented language persistent (direct object-oriented DBS) - Seamless integration: No difference between persistent / non-persistent objects (Programmers view) - OO Modelling and design methodology - No "tabular data abstraction" Issues - Concurrency and transactional support? - Schema? - Language support (non-oo languages?) OODBS: Object Store, Poet, O2, GemStone, Orion 9.3

4 Object Orientation: Object Relational DBMS 2. Idea: - Enhance relational model with object concepts (object-relational DBS) - Keep basis of relational DBMS (RDBMS) - Enhance RDBMS by constructed types, inheritance, methods Issues - Partially stabilizes outdated solutions - Add-on worse than new approach? - Saves investment into your (oo-)software ORDBS: Oracle, Informix, DB2 Supported by SQL-99 standard 9.4

5 OR in SQL:1999 : Constructed data types Row data type - Sequence of attribute-domain-pairs ROW(street VARCHAR(30), city VARCHAR(40)) e.g., ROW( arnim, berlin ) Collection data type - Array of similar domain-types VARCHAR(40) ARRAY[2] e.g., ARRAY[ arnim, berlin ] enhanced SQL:

6 OR in SQL:1999 : Type definition (UDT) Structured type: - Attributes and operations in single entity - Specify fields and signature of methods - Implementation of method body separately Example: CREATE TYPE CustomerNote AS( sender char(20), receiver char(20), sdate date, contents clob (1M), method abstract() returns varchar(256) FINAL; ) enhanced SQL:1999 Declares existence of function abstract() 9.6

7 OR in SQL:1999 : Type definition (UDT) Instances of UDTs - Created by system supplied constructor function - Generated automatically when defined Access to UDT attributes - Restricted to functions - Observer and mutation function automatically generated - Retrieval via dot-notation, arrow notation 9.7

8 OR in SQL:1999 : Routines Routines: - Categories: Procedures, functions, 2 method types - Signature: routine name + category + parameter list Sender attribute name Sender() observer method name Sender( anna@inter.net ) - mutator method name Example: CREATE FUNCTION abstract() RETURNS varchar(256) BEGIN DECLARE a varchar(256); SET a = substr(contents, 200); RETURN a; END; 9.8

9 OR in SQL:1999 : Type definition (UDT) Three usage models: 1. Simple UDTs for semantic distinction 2. UDTs as column construct 3. UDTs as table constructs Use UDT as column construct CREATE TABLE Correspondence ( id INTEGER PRIMARY KEY, CustomerNote ); Core SQL:1999 enhanced SQL:

10 OR in SQL:1999 : Object columns Insert row (compound statement): BEGIN DECLARE e CustomerNote; SET e = CustomerNote(); SET e = e.sender( anna@inter.net ); INSERT INTO Correspondence VALUES(001,e); END; Retrieve row: SELECT CustomerNote.sender(), CustomerNote.receiver(), FROM Correspondence WHERE id=001; 9.10

11 OR in SQL:1999 : Object tables Use UDT as table construct (typed table) - Insert and update similar to relational tables CREATE TYPE MovieType AS ( id INTEGER, title VARCHAR(60), category CHAR(10), year DATE, director VARCHAR(30), pricepday DECIMAL(4,2), length INTEGER FINAL ); CREATE TABLE Movies OF MovieType REF IS SelfReferencingColumn; 9.11

12 OR in SQL:1999 : Object tables Table referencing object table CREATE TABLE MovieTape( id INTEGER PRIMARY KEY, format CHAR(5) NOT NULL, movie REF(MovieType) ); Insert Row INSERT INTO MovieTape SELECT 001, DVD, SelfReferencingColumn FROM Movies WHERE id = 95; 9.12

13 OR in SQL:1999 : Object access Accessing object instances - Alias necessary SELECT m.movie->title FROM MovieTape m; Accessing references SELECT movie FROM MovieTape; MOVIE F5C 9.13

14 OR in SQL:1999 : Object access Accessing referenced objects: DEREF SELECT DEREF(mt.movie) FROM MovieTape mt; DEREF(MT.MOVIE)(ID, TITLE, CATEGORY, YEAR, DIRECTOR, PRICEPDAY, LENGTH) MOVIETYPE(95, 'Psycho', 'suspense', '01-JUN-69', 'Hitchcock', 2, NULL) 9.14

15 OR in SQL:1999 : Implementations MySQL: not implemented Oracle: implemented differently CREATE TYPE MovieType_oracle AS OBJECT ( id INTEGER, title VARCHAR(60), category CHAR(10), year DATE, director VARCHAR(30), pricepday DECIMAL(4,2), length INTEGER ); CREATE TABLE Movies_oracle OF MovieType_oracle; 9.15

16 OR in SQL:1999 : Implementations - Oracle Referencing table CREATE TABLE MovieTape( id INTEGER PRIMARY KEY, format CHAR(5) NOT NULL, movie REF MovieType_oracle); Insert values INSERT INTO Movies_oracle VALUES (MovieType_oracle(95, 'Psycho','suspense', to_date('1969', 'yyyy'),'hitchcock',2.00,null)); INSERT INTO MovieTape VALUES(10,'DVD',NULL); UPDATE MovieTape SET movie = (SELECT ref(m) FROM Movies_oracle m WHERE m.id = 95) WHERE id=10; 9.16

17 OR in SQL:1999 : Implementations - Oracle Adding a method - Specify IN, OUT and INOUT parameter - Pragma "Write No Database State" (WNDS) needed if function is to be used in SELECTs ALTER TYPE MovieType_oracle REPLACE AS OBJECT ( id INTEGER, title VARCHAR(60), category CHAR(10), year DATE, director VARCHAR(30), pricepday DECIMAL(4,2), length INTEGER, MEMBER FUNCTION price(days IN number) RETURN number, PRAGMA RESTRICT_REFERENCES (price, WNDS) ); 9.17

18 OR in SQL:1999 : Implementations - Oracle Implementing a method CREATE TYPE BODY MovieType_oracle AS MEMBER FUNCTION price(days IN number) RETURN NUMBER IS BEGIN RETURN days * self. pricepday; END; END; Using a method SELECT mt.id, mt.movie.price(1) FROM MovieTape mt WHERE mt.id=10; ID MT.MOVIE.PRICE(1)

19 OR in SQL:1999 : Generalization Structured types and subtypes : - Inheritance of all attributes and functions - FINAL: UDT may not have any subtypes UNDER it Examples: CREATE TYPE PersonType AS( first_name VARCHAR(16), last_name VARCHAR(24), DateOfBirth DATE NOT FINAL); CREATE TYPE WorkingPersonType UNDER PersonType AS ( PlaceOfWork VARCHAR(60), WorkPhoneNumber DECIMAL(7) NOT FINAL); enhanced SQL:

20 Object Orientation: Final remarks Inheritance, oo-concepts SQL:1999 No inheritance in Oracle and MySQL Lack of standards prevents heavy usage Object-relational technology is mature Keeps advantages of tabular data Might improve 'impedance mismatch' 9.20

21 Active Concepts: Motivation Active database - Relational or object oriented data base - Triggers actions in reaction on (system)events - ECA-Rules specify event, condition, action Applications: - Integrity Test, Referential Integrity Test - Event Logging - User Auditing, access control, security authorization - Gather statistics - modify tables according to DML statements against views - publish events to applications - but also: trigger of external actions (notify administrator about weird actions on data) 9.21

22 Active Concepts: Motivation ECA-rule structure When <event expression > If <condition expression> Then <action> Attributes {priority,...} Conceivable events: - Database state transitions - Temporal events - Abstract or external events ADBS: Sentinel, Ode, Samos Simple triggers also in SQL:1999 event condition action 9.22

23 Trigger in SQL:1999 : Introduction Simplified integrity rules Simple conditions enhanced SQL:1999 CREATE TRIGGER <TriggerName> {before after } {insert delete update} ON <RelationName> [referencing old as <OldName>, new as <NewName>] [WHEN <Condition>] [for each row statement] <SQLStatement> - called on insert/update/delete on specified relation - references: binds variables to old/new tuples of a relation - for each row: activates action for all selected tuples - for each statement: activates action once for each condition 9.23

24 Trigger in SQL:1999 : Examples Examples: CREATE TABLE moviecounter( id integer, counter integer); CREATE TRIGGER TapeCount AFTER INSERT ON Tape FOR EACH ROW update moviecounter m set m.counter = m.counter+1 where m.id=tape.movie_id ; CREATE TRIGGER Tape_trigger AFTER DELETE ON Tape REFERENCING OLD AS OldRow FOR EACH ROW INSERT INTO MyLog VALUES ( Deleted tape:, OldRow.id); 9.24

25 Trigger in SQL:1999 : Implementations MySQL: trigger not implemented Oracle: implemented differently CREATE [OR REPLACE] TRIGGER <trigger_name> {BEFORE AFTER INSTEAD OF} {INSERT DELETE UPDATE [OF <column_list>]} ON <RelationName> [[REFERENCING <attribute renaminglist>] FOR EACH ROW [WHEN (<condition>)]] [DECLARE <declarations>] BEGIN <PL/SQL code> END; 9.25

26 Trigger in SQL:1999: Implementations in Oracle Examples: CREATE or replace TRIGGER tapecount_oracle AFTER INSERT ON tape FOR EACH ROW BEGIN update moviecounter set counter=counter+1 where id= :new.movie_id; END; CREATE or replace TRIGGER Tape_trigger AFTER DELETE ON Tape REFERENCING OLD AS OldRow FOR EACH ROW BEGIN INSERT INTO MyLog VALUES ('Deleted tape:', :oldrow.id); END; variable 9.26

27 Trigger in SQL:1999: Implementations in Oracle Example: CREATE OR REPLACE TRIGGER CUSTOMER_DEL_CHECK BEFORE DELETE ON CUSTOMER FOR EACH ROW DECLARE CUSTOMER_COUNT NUMBER; BEGIN SELECT COUNT(mem_no) INTO CUSTOMER_COUNT FROM Rental WHERE mem_no = :OLD.mem_no; IF (CUSTOMER_COUNT > 0) THEN RAISE_APPLICATION_ERROR(-20000, 'Cannot delete customer because it has ' TO_CHAR(CUSTOMER_COUNT,'99999') ' Rentals.'); END IF; END; 9.27

28 Trigger in SQL:1999: Implementations in Oracle Trigger Dependencies: - trigger invalid if depended-on object modified - depended-on objects: stored procedure or function called from the trigger body, other functions or packages - invalid triggers recompiled when next invoked - if recompilation fails (object dropped) trigger becomes VALID WITH ERRORS Recompiling Triggers - manually: ALTER TRIGGER statement ALTER TRIGGER <trigger_name> COMPILE 9.28

29 Trigger in SQL:1999 : Execution Modes Cascading rule execution - Events occur during action and trigger new rules - When is the new rule executed? Iterative execution: - complete action E1 R1 R1 E2 R3 R4 - insert new rules (according priority) in list of waiting rules Recursive execution: - interrupt action - execute all immediate rules E1 R1 R1 E2 R3 R4 9.29

30 Trigger in SQL:1999 : Cascading Rules Problem: no termination of recursive rule triggering Avoid during rule definition - complicated, - needs methodology - models: finite state machine, petri-nets - and tool-support, e.g. rule analyzer Use system-internal restrictions - syntactical rule restriction, - abort if #cycles > threshold E1 R1 R1 E2 R3 R4 E4 R5 R6 E5 R7 R8 9.30

31 Trigger in SQL:1999 : Final remarks Definition complicated, error source Difficult validation Only restricted abstractions supported Definition for single operation may lead to multiple definitions No deferred execution possible Cascading triggers, cycles possible Conflict resolution problematic 9.31

Object Relational Concepts and Systems

Object Relational Concepts and Systems and Systems Principles Constructed Types and non first normal form relations User Defined Types Motivation Objects and Relations Object Relational Systems Principles: Keep the goodies of RDB Enhance relational

More information

4 Schema Definition with SQL / DDL (II)

4 Schema Definition with SQL / DDL (II) 4 Schema Definition with SQL / DDL (II) 4.3 SQL/DDL Constraints 4.3.1 Attribute and simple table constraints 4.3.2 Enforcing cardinality constraints and foreign keys 4.3.3 Deferred constraints 4.3.4 Assertions

More information

Constructs in Oracle

Constructs in Oracle 11. Object-Relational Constructs in Oracle 11-1 Part 11: Object-Relational References: Constructs in Oracle Jeffrey D. Ullman: Object-Relational Features of Oracle [http://infolab.stanford.edu/ ullman/fcdb/oracle/or-objects.html]

More information

Chapter 12 Object and Object Relational Databases

Chapter 12 Object and Object Relational Databases Chapter 12 Object and Object Relational Databases - Relational Data Model - Object data model (OODBs) - Object-relational data models Traditional data models -network - hierarchical - relational They lack

More information

3. Object-Oriented Databases

3. Object-Oriented Databases 3. Object-Oriented Databases Weaknesses of Relational DBMSs Poor representation of 'real world' entities Poor support for integrity and business rules Homogenous data structure Limited operations Difficulty

More information

COSC344 Database Theory and Applications. Lecture 11 Triggers

COSC344 Database Theory and Applications. Lecture 11 Triggers COSC344 Database Theory and Applications Lecture 11 Triggers COSC344 Lecture 11 1 Overview Last Lecture - PL/SQL This Lecture - Triggers - Source: Lecture notes, Oracle documentation Next Lecture - Java

More information

1 ODBMS vs RDBMS 1. 3 Resources 16

1 ODBMS vs RDBMS 1. 3 Resources 16 Table of Contents Spis treści 1 ODBMS vs RDBMS 1 2 Object-Relational Model 3 2.1 Object Types.................................. 4 2.2 Using Objects.................................. 9 2.3 Inheritance...................................

More information

Where are we? Week -4: Data definition (Creation of the schema) Week -3: Data definition (Triggers) Week -1: Transactions and concurrency in ORACLE.

Where are we? Week -4: Data definition (Creation of the schema) Week -3: Data definition (Triggers) Week -1: Transactions and concurrency in ORACLE. Where are we? Week -4: Data definition (Creation of the schema) Week -3: Data definition (Triggers) Week -2: More SQL queries Week -1: Transactions and concurrency in ORACLE. But don t forget to work on

More information

Database Management Systems Triggers

Database Management Systems Triggers Database Management Systems Triggers 1 Triggers Active Database Systems Oracle Triggers DB2 Triggers Differences between Oracle and DB2 Trigger Design 2 Database Management Systems Active Database Systems

More information

SQL:1999 and Recent Developments in SQL Standardisation

SQL:1999 and Recent Developments in SQL Standardisation SQL:1999 and Recent Developments in SQL Standardisation by Hugh Darwen IBM United Kingdom Limited Hugh_Darwen@uk.ibm.com 22 May, 2001 (Cambridge University) (c) Hugh Darwen 2001 1 The Parts of SQL Part

More information

Ch. 21: Object Oriented Databases

Ch. 21: Object Oriented Databases Ch. 21: Object Oriented Databases Learning Goals: * Learn about object data model * Learn about o.o. query languages, transactions Topics: * 21.1 * 21.2 * 21.3 * 21.4 * 21.5 Source: Ch#21, Bertino93, Kim

More information

Part VIII Transactions, Integrity and Triggers

Part VIII Transactions, Integrity and Triggers Part VIII Transactions, Integrity and Triggers Transactions, Integrity and Triggers 1 Basic Terms 2 Term Transaction 3 Transactions in SQL 4 Integrity Constraints in SQL 5 Trigger Saake Database Concepts

More information

Lecture 08. Spring 2018 Borough of Manhattan Community College

Lecture 08. Spring 2018 Borough of Manhattan Community College Lecture 08 Spring 2018 Borough of Manhattan Community College 1 The SQL Programming Language Recent versions of the SQL standard allow SQL to be embedded in high-level programming languages to help develop

More information

Systems Analysis and Design in a Changing World, Fourth Edition. Chapter 12: Designing Databases

Systems Analysis and Design in a Changing World, Fourth Edition. Chapter 12: Designing Databases Systems Analysis and Design in a Changing World, Fourth Edition Chapter : Designing Databases Learning Objectives Describe the differences and similarities between relational and object-oriented database

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Chapter 12 Outline Overview of Object Database Concepts Object-Relational Features Object Database Extensions to SQL ODMG Object Model and the Object Definition Language ODL Object Database Conceptual

More information

Relational Database Systems Part 01. Karine Reis Ferreira

Relational Database Systems Part 01. Karine Reis Ferreira Relational Database Systems Part 01 Karine Reis Ferreira karine@dpi.inpe.br Aula da disciplina Computação Aplicada I (CAP 241) 2016 Database System Database: is a collection of related data. represents

More information

CS317 File and Database Systems

CS317 File and Database Systems CS317 File and Database Systems http://dilbert.com/strips/comic/1995-10-11/ Lecture 5 More SQL and Intro to Stored Procedures September 24, 2017 Sam Siewert SQL Theory and Standards Completion of SQL in

More information

Active Databases Part 1: Introduction CS561

Active Databases Part 1: Introduction CS561 Active Databases Part 1: Introduction CS561 1 Active Databases n Triggers and rules are developed for data integrity and constraints n Triggers make passive database active Database reacts to certain situations

More information

Object-Relational Database Systems (ORDBS) Contains slides made by Naci Akkøk, Pål Halvorsen, Arthur M. Keller and Vera Goebel.

Object-Relational Database Systems (ORDBS) Contains slides made by Naci Akkøk, Pål Halvorsen, Arthur M. Keller and Vera Goebel. Object-Relational Database Systems (ORDBS) Contains slides made by Naci Akkøk, Pål Halvorsen, Arthur M. Keller and Vera Goebel. Data Models & Database System Architectures - Chronological Overview - Network

More information

CSC 453 Database Technologies. Tanu Malik DePaul University

CSC 453 Database Technologies. Tanu Malik DePaul University CSC 453 Database Technologies Tanu Malik DePaul University A Data Model A notation for describing data or information. Consists of mostly 3 parts: Structure of the data Data structures and relationships

More information

SQL: Data De ni on. B0B36DBS, BD6B36DBS: Database Systems. h p://www.ksi.m.cuni.cz/~svoboda/courses/172-b0b36dbs/ Lecture 3

SQL: Data De ni on. B0B36DBS, BD6B36DBS: Database Systems. h p://www.ksi.m.cuni.cz/~svoboda/courses/172-b0b36dbs/ Lecture 3 B0B36DBS, BD6B36DBS: Database Systems h p://www.ksi.m.cuni.cz/~svoboda/courses/172-b0b36dbs/ Lecture 3 SQL: Data De ni on Mar n Svoboda mar n.svoboda@fel.cvut.cz 13. 3. 2018 Czech Technical University

More information

Database Management Systems,

Database Management Systems, Database Management Systems SQL Query Language (1) 1 Topics Introduction SQL History Domain Definition Elementary Domains User-defined Domains Creating Tables Constraint Definition INSERT Query SELECT

More information

The DBMS accepts requests for data from the application program and instructs the operating system to transfer the appropriate data.

The DBMS accepts requests for data from the application program and instructs the operating system to transfer the appropriate data. Managing Data Data storage tool must provide the following features: Data definition (data structuring) Data entry (to add new data) Data editing (to change existing data) Querying (a means of extracting

More information

Introduction to Oracle Objects

Introduction to Oracle Objects This lab describes the advantages and key features of the Oracle object-relational model. The lab contains these topics: About Oracle Objects Advantages of Objects About Oracle Objects Oracle object types

More information

DBS 2006: 1 st week. DBS 2006: Plan. DB Life-Cycle: Requirement analysis. Data modelling: Conceptual Design. Logical Schema Design

DBS 2006: 1 st week. DBS 2006: Plan. DB Life-Cycle: Requirement analysis. Data modelling: Conceptual Design. Logical Schema Design DBS 006: Plan DBS 006: 1 st week DB Life-Cycle: Data modelling: 1 systematic design of DB 3-3 weeks Physical Schema Design Database usage: access to the stored data using SQL interactively or via application

More information

Where Are We? Next Few Lectures. Integrity Constraints Motivation. Constraints in E/R Diagrams. Keys in E/R Diagrams

Where Are We? Next Few Lectures. Integrity Constraints Motivation. Constraints in E/R Diagrams. Keys in E/R Diagrams Where Are We? Introduction to Data Management CSE 344 Lecture 15: Constraints We know quite a bit about using a DBMS Start with real-world problem, design ER diagram From ER diagram to relations -> conceptual

More information

Question: Which statement would you use to invoke a stored procedure in isql*plus?

Question: Which statement would you use to invoke a stored procedure in isql*plus? What are the two types of subprograms? procedure and function Which statement would you use to invoke a stored procedure in isql*plus? EXECUTE Which SQL statement allows a privileged user to assign privileges

More information

Review -Chapter 4. Review -Chapter 5

Review -Chapter 4. Review -Chapter 5 Review -Chapter 4 Entity relationship (ER) model Steps for building a formal ERD Uses ER diagrams to represent conceptual database as viewed by the end user Three main components Entities Relationships

More information

Introduction to Computer Science and Business

Introduction to Computer Science and Business Introduction to Computer Science and Business The Database Programming with PL/SQL course introduces students to the procedural language used to extend SQL in a programatic manner. This course outline

More information

Oracle Database 12c: Program with PL/SQL Duration: 5 Days Method: Instructor-Led

Oracle Database 12c: Program with PL/SQL Duration: 5 Days Method: Instructor-Led Oracle Database 12c: Program with PL/SQL Duration: 5 Days Method: Instructor-Led Course Description This training starts with an introduction to PL/SQL and then explores the benefits of this powerful programming

More information

Constraints. Primary Key Foreign Key General table constraints Domain constraints Assertions Triggers. John Edgar 2

Constraints. Primary Key Foreign Key General table constraints Domain constraints Assertions Triggers. John Edgar 2 CMPT 354 Constraints Primary Key Foreign Key General table constraints Domain constraints Assertions Triggers John Edgar 2 firstname type balance city customerid lastname accnumber rate branchname phone

More information

SQL: Part III. Announcements. Constraints. CPS 216 Advanced Database Systems

SQL: Part III. Announcements. Constraints. CPS 216 Advanced Database Systems SQL: Part III CPS 216 Advanced Database Systems Announcements 2 Reminder: Homework #1 due in 12 days Reminder: reading assignment posted on Web Reminder: recitation session this Friday (January 31) on

More information

Chapter 1 SQL and Data

Chapter 1 SQL and Data Chapter 1 SQL and Data What is SQL? Structured Query Language An industry-standard language used to access & manipulate data stored in a relational database E. F. Codd, 1970 s IBM 2 What is Oracle? A relational

More information

Chapter 11 Object and Object- Relational Databases

Chapter 11 Object and Object- Relational Databases Chapter 11 Object and Object- Relational Databases Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 11 Outline Overview of Object Database Concepts Object-Relational

More information

The Relational Model. Relational Data Model Relational Query Language (DDL + DML) Integrity Constraints (IC)

The Relational Model. Relational Data Model Relational Query Language (DDL + DML) Integrity Constraints (IC) The Relational Model Relational Data Model Relational Query Language (DDL + DML) Integrity Constraints (IC) Why Study the Relational Model? Most widely used model in Commercial DBMSs: Vendors: IBM, Microsoft,

More information

SQL: Concepts. Todd Bacastow IST 210: Organization of Data 2/17/ IST 210

SQL: Concepts. Todd Bacastow IST 210: Organization of Data 2/17/ IST 210 SQL: Concepts Todd Bacastow IST 210: Organization of Data 2/17/2004 1 Design questions How many entities are there? What are the major entities? What are the attributes of each entity? Is there a unique

More information

UNIT 4 DATABASE SYSTEM CATALOGUE

UNIT 4 DATABASE SYSTEM CATALOGUE UNIT 4 DATABASE SYSTEM CATALOGUE Database System Structure Page Nos. 4.0 Introduction 65 4.1 Objectives 66 4.2 for Relational Database Management System 66 4.3 Data Dictionary and Data Repository System

More information

Requirement Analysis & Conceptual Database Design

Requirement Analysis & Conceptual Database Design Requirement Analysis & Conceptual Database Design Problem analysis Entity Relationship notation Integrity constraints Generalization Introduction: Lifecycle Requirement analysis Conceptual Design Logical

More information

Topic 3 Object Relational Database

Topic 3 Object Relational Database Topic 3 Object Relational Database Limitation of Relational Data Model Uniformity Large number of similarly structure data Record orientation Basic data consists of fixed length records Small data items

More information

EGCI 321: Database Systems. Dr. Tanasanee Phienthrakul

EGCI 321: Database Systems. Dr. Tanasanee Phienthrakul 1 EGCI 321: Database Systems Dr. Tanasanee Phienthrakul 2 Chapter 10 Data Definition Language (DDL) 3 Basic SQL SQL language Considered one of the major reasons for the commercial success of relational

More information

Oracle Database 11g: Program with PL/SQL Release 2

Oracle Database 11g: Program with PL/SQL Release 2 Oracle University Contact Us: +41- (0) 56 483 31 31 Oracle Database 11g: Program with PL/SQL Release 2 Duration: 5 Days What you will learn This course introduces students to PL/SQL and helps them understand

More information

Contains slides made by Naci Akkøk, Pål Halvorsen, Arthur M. Keller, Vera Goebel

Contains slides made by Naci Akkøk, Pål Halvorsen, Arthur M. Keller, Vera Goebel SQL-99 Contains slides made by Naci Akkøk, Pål Halvorsen, Arthur M. Keller, Vera Goebel SQL-99 user-defined types (UDTs) methods for UDTs declarations references operations Overview 2 SQL Development SQL-86

More information

Physical Design of Relational Databases

Physical Design of Relational Databases Physical Design of Relational Databases Chapter 8 Class 06: Physical Design of Relational Databases 1 Physical Database Design After completion of logical database design, the next phase is the design

More information

DATABASES SQL INFOTEK SOLUTIONS TEAM

DATABASES SQL INFOTEK SOLUTIONS TEAM DATABASES SQL INFOTEK SOLUTIONS TEAM TRAINING@INFOTEK-SOLUTIONS.COM Databases 1. Introduction in databases 2. Relational databases (SQL databases) 3. Database management system (DBMS) 4. Database design

More information

Oracle Database: Program with PL/SQL

Oracle Database: Program with PL/SQL Oracle University Contact Us: + 420 2 2143 8459 Oracle Database: Program with PL/SQL Duration: 5 Days What you will learn This Oracle Database: Program with PL/SQL training starts with an introduction

More information

Chapter 9: Object-Based Databases

Chapter 9: Object-Based Databases Chapter 9: Object-Based Databases Chapter 9: Object-Based Databases Complex Data Types and Object Orientation Structured Data Types and Inheritance in SQL Table Inheritance Array and Multiset Types in

More information

Oracle Database 11g: Program with PL/SQL

Oracle Database 11g: Program with PL/SQL Oracle University Contact: +31 (0)30 669 9244 Oracle Database 11g: Program with PL/SQL Duration: 5 Dagen What you will learn This course introduces students to PL/SQL and helps them understand the benefits

More information

DATA AND SCHEMA MODIFICATIONS CHAPTERS 4,5 (6/E) CHAPTER 8 (5/E)

DATA AND SCHEMA MODIFICATIONS CHAPTERS 4,5 (6/E) CHAPTER 8 (5/E) 1 DATA AND SCHEMA MODIFICATIONS CHAPTERS 4,5 (6/E) CHAPTER 8 (5/E) 2 LECTURE OUTLINE Updating Databases Using SQL Specifying Constraints as Assertions and Actions as Triggers Schema Change Statements in

More information

Oracle Database: Program with PL/SQL Ed 2

Oracle Database: Program with PL/SQL Ed 2 Oracle University Contact Us: +38 61 5888 820 Oracle Database: Program with PL/SQL Ed 2 Duration: 5 Days What you will learn This Oracle Database: Program with PL/SQL training starts with an introduction

More information

doc. RNDr. Tomáš Skopal, Ph.D. RNDr. Michal Kopecký, Ph.D.

doc. RNDr. Tomáš Skopal, Ph.D. RNDr. Michal Kopecký, Ph.D. course: Database Systems (NDBI025) SS2017/18 doc. RNDr. Tomáš Skopal, Ph.D. RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague

More information

The Relational Model

The Relational Model The Relational Model What is the Relational Model Relations Domain Constraints SQL Integrity Constraints Translating an ER diagram to the Relational Model and SQL Views A relational database consists

More information

AN ADVANCED COURSE IN DATABASE SYSTEMS: BEYOND RELATIONAL DATABASES

AN ADVANCED COURSE IN DATABASE SYSTEMS: BEYOND RELATIONAL DATABASES AN ADVANCED COURSE IN DATABASE SYSTEMS: BEYOND RELATIONAL DATABASES Chapter 9 Case Studies: Relational, Object-Relational, and Object-Oriented Database Implementations Suzanne W. Dietrich and Susan D.

More information

Oracle PLSQL Training Syllabus

Oracle PLSQL Training Syllabus Oracle PLSQL Training Syllabus Introduction Course Objectives Course Agenda Human Resources (HR) Schema Introduction to SQL Developer Introduction to PL/SQL PL/SQL Overview Benefits of PL/SQL Subprograms

More information

Standard Query Language: Current standard Logical Schema Design: Schema Definition with SQL (DDL)

Standard Query Language: Current standard Logical Schema Design: Schema Definition with SQL (DDL) Standard Query Language: Current standard Logical Schema Design: Schema Definition with SQL (DDL) 1999: standard (ANSI SQL-3) about 2200 pages as full standard SQL history and standards SQL type system

More information

Conditionally control code flow (loops, control structures). Create stored procedures and functions.

Conditionally control code flow (loops, control structures). Create stored procedures and functions. TEMARIO Oracle Database: Program with PL/SQL Ed 2 Duration: 5 Days What you will learn This Oracle Database: Program with PL/SQL training starts with an introduction to PL/SQL and then explores the benefits

More information

COSC 304 Introduction to Database Systems. Advanced SQL. Dr. Ramon Lawrence University of British Columbia Okanagan

COSC 304 Introduction to Database Systems. Advanced SQL. Dr. Ramon Lawrence University of British Columbia Okanagan COSC 304 Introduction to Database Systems Advanced SQL Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Transaction Management Overview The database system must ensure that

More information

COSC344 Database Theory and Applications. Lecture 5 SQL - Data Definition Language. COSC344 Lecture 5 1

COSC344 Database Theory and Applications. Lecture 5 SQL - Data Definition Language. COSC344 Lecture 5 1 COSC344 Database Theory and Applications Lecture 5 SQL - Data Definition Language COSC344 Lecture 5 1 Overview Last Lecture Relational algebra This Lecture Relational algebra (continued) SQL - DDL CREATE

More information

Running Example Tables name location

Running Example Tables name location Running Example Pubs-Drinkers-DB: The data structures of the relational model Attributes and domains Relation schemas and database schemas databases Pubs (name, location) Drinkers (name, location) Sells

More information

Efficient Object-Relational Mapping for JAVA and J2EE Applications or the impact of J2EE on RDB. Marc Stampfli Oracle Software (Switzerland) Ltd.

Efficient Object-Relational Mapping for JAVA and J2EE Applications or the impact of J2EE on RDB. Marc Stampfli Oracle Software (Switzerland) Ltd. Efficient Object-Relational Mapping for JAVA and J2EE Applications or the impact of J2EE on RDB Marc Stampfli Oracle Software (Switzerland) Ltd. Underestimation According to customers about 20-50% percent

More information

Private Institute of Aga NETWORK DATABASE LECTURER NIYAZ M. SALIH

Private Institute of Aga NETWORK DATABASE LECTURER NIYAZ M. SALIH Private Institute of Aga 2018 NETWORK DATABASE LECTURER NIYAZ M. SALIH Data Definition Language (DDL): String data Types: Data Types CHAR(size) NCHAR(size) VARCHAR2(size) Description A fixed-length character

More information

Domain Constraints Referential Integrity Assertions Triggers. Authorization Authorization in SQL

Domain Constraints Referential Integrity Assertions Triggers. Authorization Authorization in SQL Chapter 6: Integrity and Security Domain Constraints Referential Integrity Assertions Triggers Security Authorization Authorization in SQL 6.1 Domain Constraints Integrity constraints guard against accidental

More information

SQL Constraints and Triggers

SQL Constraints and Triggers SQL Constraints and Triggers Dr Paolo Guagliardo University of Edinburgh Fall 2016 This page is intentionally left blank Basic SQL constraints We have already seen: UNIQUE to declare keys NOT NULL to disallow

More information

Chapter 14. Active Databases. Database Systems(Part 2) p. 200/286

Chapter 14. Active Databases. Database Systems(Part 2) p. 200/286 Chapter 14 Active Databases Database Systems(Part 2) p. 200/286 Active Data? With the help of constraints (primary key, foreign key, check clauses) we increased the data semantics Anything that the database

More information

The Relational Model. Chapter 3

The Relational Model. Chapter 3 The Relational Model Chapter 3 Why Study the Relational Model? Most widely used model. Systems: IBM DB2, Informix, Microsoft (Access and SQL Server), Oracle, Sybase, MySQL, etc. Legacy systems in older

More information

SQL Data Definition Language: Create and Change the Database Ray Lockwood

SQL Data Definition Language: Create and Change the Database Ray Lockwood Introductory SQL SQL Data Definition Language: Create and Change the Database Pg 1 SQL Data Definition Language: Create and Change the Database Ray Lockwood Points: DDL statements create and alter the

More information

Introduction to Database Systems CSE 414

Introduction to Database Systems CSE 414 Introduction to Database Systems CSE 414 Lecture 16: Constraints CSE 414 - Spring 2015 1 Announcements Reminders: Web quiz due Monday night XML homework due Wednesday night Today: Constraints (7.1, 7.2,

More information

Creating and Managing Tables Schedule: Timing Topic

Creating and Managing Tables Schedule: Timing Topic 9 Creating and Managing Tables Schedule: Timing Topic 30 minutes Lecture 20 minutes Practice 50 minutes Total Objectives After completing this lesson, you should be able to do the following: Describe the

More information

Author's Prepublication Version

Author's Prepublication Version OBJECT DATA MODELS Susan D. Urban Arizona State University http://www.public.asu.edu/~surban Suzanne W. Dietrich Arizona State University http://www.public.asu.edu/~dietrich SYNONYMS ODB (Object Database),

More information

Databases. Jörg Endrullis. VU University Amsterdam

Databases. Jörg Endrullis. VU University Amsterdam Databases Jörg Endrullis VU University Amsterdam The Relational Model Overview 1. Relational Model Concepts: Schema, State 2. Null Values 3. Constraints: General Remarks 4. Key Constraints 5. Foreign Key

More information

AN EFFICIENT OODB MODEL FOR ENSURING THE INTEGRITY OF USER-DEFINED CONSTRAINTS

AN EFFICIENT OODB MODEL FOR ENSURING THE INTEGRITY OF USER-DEFINED CONSTRAINTS AN EFFICIENT OODB MODEL FOR ENSURING THE INTEGRITY OF USER-DEFINED CONSTRAINTS Belal Zaqaibeh 1, Hamidah Ibrahim 2, Ali Mamat 2, and Md Nasir Sulaiman 2 1 Faculty of Information Technology, Multimedia

More information

Credit where Credit is Due. Last Lecture. Goals for this Lecture

Credit where Credit is Due. Last Lecture. Goals for this Lecture Credit where Credit is Due Lecture 22: Database Design Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2002 Some material presented in this lecture is taken from section

More information

High Level Database Models

High Level Database Models ICS 321 Fall 2011 High Level Database Models Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa 9/21/2011 Lipyeow Lim -- University of Hawaii at Manoa 1 Database

More information

Keep relation as the fundamental. Compare with ëobject-oriented DBMS," which. and tacks on relations as one of many types.

Keep relation as the fundamental. Compare with ëobject-oriented DBMS, which. and tacks on relations as one of many types. Object-Relational Systems Object-oriented ideas enter the relational world. Keep relation as the fundamental abstraction. Compare with ëobject-oriented DBMS," which uses the class as the fundamental abstraction

More information

Data Manipulation (DML) and Data Definition (DDL)

Data Manipulation (DML) and Data Definition (DDL) Data Manipulation (DML) and Data Definition (DDL) 114 SQL-DML Inserting Tuples INSERT INTO REGION VALUES (6,'Antarctica','') INSERT INTO NATION (N_NATIONKEY, N_NAME, N_REGIONKEY) SELECT NATIONKEY, NAME,

More information

Now, we can refer to a sequence without having to use any SELECT command as follows:

Now, we can refer to a sequence without having to use any SELECT command as follows: Enhancement in 11g Database PL/SQL Sequence: Oracle Database 11g has now provided support for Sequence in PL/SQL. Earlier to get a number from a sequence in PL/SQL we had to use SELECT command with DUAL

More information

Chapter 9: Object-Relational Databases

Chapter 9: Object-Relational Databases Chapter 9: Object-Relational Databases! Nested Relations! Complex Types and Object Orientation! Querying with Complex Types! Creation of Complex Values and Objects! Comparison of Object-Oriented and Object-Relational

More information

Object-Relational Data Models. Chapter 9: Object-Relational Databases. Example of a Nested Relation. Nested Relations

Object-Relational Data Models. Chapter 9: Object-Relational Databases. Example of a Nested Relation. Nested Relations Chapter 9: Object-Relational Databases Object-Relational Data Models! Nested Relations! Complex Types and Object Orientation! Querying with Complex Types! Creation of Complex Values and Objects! Comparison

More information

Concepts for Object-Oriented Databases

Concepts for Object-Oriented Databases Concepts for Object-Oriented Databases Chapter 20 March 24, 2008 ADBS: OODB 1 Chapter Outline Overview of O-O Concepts O-O Identity, Object Structure and Type Constructors Encapsulation of Operations,

More information

01/01/2017. Chapter 5: The Relational Data Model and Relational Database Constraints: Outline. Chapter 5: Relational Database Constraints

01/01/2017. Chapter 5: The Relational Data Model and Relational Database Constraints: Outline. Chapter 5: Relational Database Constraints Chapter 5: The Relational Data Model and Relational Database Constraints: Outline Ramez Elmasri, Shamkant B. Navathe(2017) Fundamentals of Database Systems (7th Edition),pearson, isbn 10: 0-13-397077-9;isbn-13:978-0-13-397077-7.

More information

CPS510 Database System Design Primitive SYSTEM STRUCTURE

CPS510 Database System Design Primitive SYSTEM STRUCTURE CPS510 Database System Design Primitive SYSTEM STRUCTURE Naïve Users Application Programmers Sophisticated Users Database Administrator DBA Users Application Interfaces Application Programs Query Data

More information

Oracle. SQL(Structured Query Language) Introduction of DBMS. Build In Function. Introduction of RDBMS. Grouping the Result of a Query

Oracle. SQL(Structured Query Language) Introduction of DBMS. Build In Function. Introduction of RDBMS. Grouping the Result of a Query Oracle SQL(Structured Query Language) Introduction of DBMS Approach to Data Management Introduction to prerequisites File and File system Disadvantages of file system Introduction to TOAD and oracle 11g/12c

More information

Project # 1: Database Programming

Project # 1: Database Programming Project # 1: Database Programming CSE462 Database Concepts Demian Lessa Department of Computer Science and Engineering State University of New York, Buffalo February 21, 2011 Outline 1 Database Programming

More information

2. E/R Design Considerations

2. E/R Design Considerations 2. E/R Design Considerations 32 What you will learn in this section Relationships cont d: multiplicity, multi-way Design considerations Conversion to SQL 33 Multiplicity of E/R Relationships Multiplicity

More information

COMP 3400 Mainframe Administration 1

COMP 3400 Mainframe Administration 1 COMP 3400 Mainframe Administration 1 Christian Grothoff christian@grothoff.org http://grothoff.org/christian/ 1 These slides are based in part on materials provided by IBM s Academic Initiative. 1 Databases

More information

Relational databases and SQL

Relational databases and SQL Relational databases and SQL Relational Database Management Systems Most serious data storage is in RDBMS Oracle, MySQL, SQL Server, PostgreSQL Why so popular? Based on strong theory, well-understood performance

More information

Oracle Database 12c R2: Program with PL/SQL Ed 2 Duration: 5 Days

Oracle Database 12c R2: Program with PL/SQL Ed 2 Duration: 5 Days Oracle Database 12c R2: Program with PL/SQL Ed 2 Duration: 5 Days This Database Program with PL/SQL training shows you how to develop stored procedures, functions, packages and database triggers. You'll

More information

Oracle 1z z0-146 Oracle Database 11g: Advanced PL/SQL. Practice Test. Version QQ:

Oracle 1z z0-146 Oracle Database 11g: Advanced PL/SQL. Practice Test. Version QQ: Oracle 1z0-146 1z0-146 Oracle Database 11g: Advanced PL/SQL Practice Test Version 1.1 QUESTION NO: 1 Which two types of metadata can be retrieved by using the various procedures in the DBMS_METADATA PL/SQL

More information

SQL Data Definition and Data Manipulation Languages (DDL and DML)

SQL Data Definition and Data Manipulation Languages (DDL and DML) .. Cal Poly CPE/CSC 365: Introduction to Database Systems Alexander Dekhtyar.. SQL Data Definition and Data Manipulation Languages (DDL and DML) Note: This handout instroduces both the ANSI SQL synatax

More information

UNIT II PL / SQL AND TRIGGERS

UNIT II PL / SQL AND TRIGGERS UNIT II PL / SQL AND 1 TRIGGERS TOPIC TO BE COVERED.. 2.1 Basics of PL / SQL 2.2 Datatypes 2.3 Advantages 2.4 Control Structures : Conditional, Iterative, Sequential 2.5 Exceptions: Predefined Exceptions,User

More information

Oracle Database: Program with PL/SQL

Oracle Database: Program with PL/SQL Oracle University Contact Us: Local: 1800 425 8877 Intl: +91 80 4108 4700 Oracle Database: Program with PL/SQL Duration: 50 Hours What you will learn This course introduces students to PL/SQL and helps

More information

EDUVITZ TECHNOLOGIES

EDUVITZ TECHNOLOGIES EDUVITZ TECHNOLOGIES Oracle Course Overview Oracle Training Course Prerequisites Computer Fundamentals, Windows Operating System Basic knowledge of database can be much more useful Oracle Training Course

More information

D B M G. SQL language: basics. Managing tables. Creating a table Modifying table structure Deleting a table The data dictionary Data integrity

D B M G. SQL language: basics. Managing tables. Creating a table Modifying table structure Deleting a table The data dictionary Data integrity SQL language: basics Creating a table Modifying table structure Deleting a table The data dictionary Data integrity 2013 Politecnico di Torino 1 Creating a table Creating a table (1/3) The following SQL

More information

Outline. CS 235: Introduction to Databases. DB Application Programming. Interface Solutions. Basic PSM Form. Persistent Stored Modules

Outline. CS 235: Introduction to Databases. DB Application Programming. Interface Solutions. Basic PSM Form. Persistent Stored Modules Outline CS 235: Introduction to Databases Svetlozar Nestorov Database application programming SQL limitations SQL Persistent, Stored Modules (PSM) Extension of SQL PL/SQL: Oracle s version of PSM Lecture

More information

DATABASE DESIGN - 1DL400

DATABASE DESIGN - 1DL400 DATABASE DESIGN - 1DL400 Spring 2014 2014-01-21 A course on modern database systems http://www.it.uu.se/research/group/udbl/kurser/dbii_vt14/integrity.pdf Tore Risch Uppsala Database Laboratory Department

More information

Oracle - Oracle Database: Program with PL/SQL Ed 2

Oracle - Oracle Database: Program with PL/SQL Ed 2 Oracle - Oracle Database: Program with PL/SQL Ed 2 Code: Lengt h: URL: DB-PLSQL 5 days View Online This Oracle Database: Program with PL/SQL training starts with an introduction to PL/SQL and then explores

More information

The data structures of the relational model Attributes and domains Relation schemas and database schemas

The data structures of the relational model Attributes and domains Relation schemas and database schemas The data structures of the relational model Attributes and domains Relation schemas and database schemas databases First normal form (1NF) Running Example Pubs-Drinkers-DB: Pubs (name, location) Drinkers

More information

COSC 304 Introduction to Database Systems SQL DDL. Dr. Ramon Lawrence University of British Columbia Okanagan

COSC 304 Introduction to Database Systems SQL DDL. Dr. Ramon Lawrence University of British Columbia Okanagan COSC 304 Introduction to Database Systems SQL DDL Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca SQL Overview Structured Query Language or SQL is the standard query language

More information

ORACLE: PL/SQL Programming

ORACLE: PL/SQL Programming %ROWTYPE Attribute... 4:23 %ROWTYPE... 2:6 %TYPE... 2:6 %TYPE Attribute... 4:22 A Actual Parameters... 9:7 Actual versus Formal Parameters... 9:7 Aliases... 8:10 Anonymous Blocks... 3:1 Assigning Collection

More information

3.1. Keys: Super Key, Candidate Key, Primary Key, Alternate Key, Foreign Key

3.1. Keys: Super Key, Candidate Key, Primary Key, Alternate Key, Foreign Key Unit 3: Types of Keys & Data Integrity 3.1. Keys: Super Key, Candidate Key, Primary Key, Alternate Key, Foreign Key Different Types of SQL Keys A key is a single or combination of multiple fields in a

More information

8) A top-to-bottom relationship among the items in a database is established by a

8) A top-to-bottom relationship among the items in a database is established by a MULTIPLE CHOICE QUESTIONS IN DBMS (unit-1 to unit-4) 1) ER model is used in phase a) conceptual database b) schema refinement c) physical refinement d) applications and security 2) The ER model is relevant

More information