The Impact of Equivalent, Redundant and Quasi Mutants on Database Schema Mutation Analysis. Chris J. Wright Gregory M. Kapfhammer Phil McMinn

Size: px
Start display at page:

Download "The Impact of Equivalent, Redundant and Quasi Mutants on Database Schema Mutation Analysis. Chris J. Wright Gregory M. Kapfhammer Phil McMinn"

Transcription

1 The Impact of Equivalent, Redundant and Quasi Mutants on Database Schema Mutation Analysis Chris J. Wright Gregory M. Kapfhammer Phil McMinn

2 The Impact of Equivalent, Redundant and Quasi Mutants on Database Schema Mutation Analysis Chris J. Wright Gregory M. Kapfhammer Phil McMinn

3 The Impact of Equivalent, Redundant and Quasi Mutants on Database Schema Mutation Analysis Chris J. Wright Gregory M. Kapfhammer Phil McMinn

4 The Impact of Equivalent, Redundant and Quasi Mutants on Database Schema Mutation Analysis Chris J. Wright Gregory M. Kapfhammer Phil McMinn

5 The Impact of Equivalent, Redundant and Quasi Mutants on Database Schema Mutation Analysis Chris J. Wright Gregory M. Kapfhammer Phil McMinn

6 The Impact of Equivalent, Redundant and Quasi Mutants on Database Schema Mutation Analysis Chris J. Wright Gregory M. Kapfhammer Phil McMinn

7

8 Database Schema

9 Database Schema 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 9 REFERENCES T (A, B) 10 );

10 Database Schema Tables 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 9 REFERENCES T (A, B) 10 );

11 Database Schema Columns 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 9 REFERENCES T (A, B) 10 );

12 Database Schema Constraints 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 9 REFERENCES T (A, B) 10 );

13 Why Test a Database Schema?

14 Why Test a Database Schema? Database Schema

15 Why Test a Database Schema? Database Schema DBMS

16 Why Test a Database Schema? Database Schema DBMS

17 Why Test a Database Schema? Third Party Application Web Server Database Schema DBMS

18 Why Test a Database Schema? Third Party Application Web Server Database Schema DBMS

19 How to Test a Database Schema

20 How to Test a Database Schema Generate test data SQL INSERT statements

21 How to Test a Database Schema Generate test data SQL INSERT statements INSERT INTO T(a, b) VALUES('a', 'b');

22 How to Test a Database Schema Generate test data SQL INSERT statements INSERT INTO T(a, b) VALUES('a', 'b');

23 How to Test a Database Schema Generate test data SQL Execute the data against the database INSERT INTO T(a, b) VALUES('a', 'b'); DBMS

24 How to Test a Database Schema Generate test data SQL Execute the data against the database Examine the acceptance of statements / INSERT INTO T(a, b) VALUES('a', 'b'); DBMS

25 Mutation Analysis

26 Application Mutation Analysis

27 Mutation Analysis Application Mutation Operators

28 Mutation Analysis Application Mutation Operators Mutants

29 Mutation Analysis Application Mutation Operators Mutants Test suite

30 Mutation Analysis Application Mutation Operators Mutants Test suite Test results

31 Mutation Analysis Application Mutation Operators Mutants Test suite Test suite Test results

32 Mutation Analysis Application Mutation Operators Mutants Test suite Test suite Test results Test results

33 Mutation Analysis Application Mutation Operators Mutants Test suite Test suite Test results Comparison Test results

34 Mutation Analysis Application Mutation Operators Mutants Test suite Test suite Test results Comparison Test results Mutation Score

35 Mutation Analysis Mutation Operators Application Mutants Test suite Test suite Test results Comparison Test results Mutation Score

36 Database Schema Mutation Operators

37 Database Schema Mutation Operators Primary Key Foreign Key Unique Not Null Check

38 Database Schema Mutation Operators Primary Key Foreign Key Unique Not Null Check

39 Database Schema Mutation Operators Primary Key Column Addition Foreign Key Unique Not Null Check

40 Database Schema Mutation Operators Primary Key Foreign Key Unique Column Addition Column Removal Not Null Check

41 Database Schema Mutation Operators Primary Key Foreign Key Unique Not Null Column Addition Column Removal Column Exchange Check

42 Database Schema Mutation Operators

43 Database Schema Mutation Operators Primary Key Column Addition

44 Database Schema Mutation Operators Primary Key Column Addition 1 CREATE TABLE T ( 2 A CHAR, B CHAR, 3 PRIMARY KEY (A) 4 );

45 Database Schema Mutation Operators Primary Key Column Addition 1 CREATE TABLE T ( 2 A CHAR, B CHAR, 3 PRIMARY KEY (A) 4 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, 3 PRIMARY KEY (A, B) 4 );

46 Database Schema Mutation Operators Primary Key Column Exchange 1 CREATE TABLE T ( 2 A CHAR, B CHAR, 3 PRIMARY KEY (A) 4 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, 3 PRIMARY KEY (B) 4 );

47 Database Schema Mutation Operators Primary Key Column Removal 1 CREATE TABLE T ( 2 A CHAR, B CHAR, 3 PRIMARY KEY (A) 4 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, 3 4 );

48 Mutation Analysis Challenges

49 Mutation Analysis Challenges Special classes of mutants

50 Mutation Analysis Challenges Special classes of mutants Equivalent

51 Mutation Analysis Challenges Special classes of mutants Equivalent Redundant

52 Mutation Analysis Challenges Special classes of mutants Equivalent Redundant Quasi-mutants

53 Mutation Analysis Challenges Special classes of mutants Equivalent Redundant Quasi-mutants

54 Equivalent Mutants

55 Equivalent Mutants Functionally identical to non-mutant

56 Equivalent Mutants Functionally identical to non-mutant but syntactically different

57 Equivalent Mutants Functionally identical to non-mutant but syntactically different Cannot be killed

58 Equivalent Mutants Functionally identical to non-mutant but syntactically different Cannot be killed Artificially decrease mutation score

59 Equivalent Mutants Functionally identical to non-mutant but syntactically different Cannot be killed Artificially decrease mutation score

60 Equivalent Mutants

61 Equivalent Mutants Original: 1 CREATE TABLE T ( 2 A CHAR, 3 PRIMARY KEY (A) 4 );

62 Equivalent Mutants Original: 1 CREATE TABLE T ( 2 A CHAR, 3 PRIMARY KEY (A) 4 ); Mutant: 1 CREATE TABLE T ( 2 A CHAR NOT NULL, 3 PRIMARY KEY (A) 4 );

63 Redundant Mutants

64 Redundant Mutants Functionally identical to another mutant

65 Redundant Mutants Functionally identical to but syntactically different

66 Redundant Mutants Functionally identical to but syntactically different May be killed

67 Redundant Mutants Functionally identical to but syntactically different May be killed Artificially alters mutation score

68 Redundant Mutants Functionally identical to but syntactically different May be killed Artificially alters mutation score Reduces efficiency

69 Redundant Mutants Functionally identical to but syntactically different May be killed Artificially alters mutation score Reduces efficiency

70 Types of Equivalence

71 Structural Types of Equivalence

72 Types of Equivalence Structural Functionally irrelevant syntactic differences

73 Types of Equivalence Structural Functionally irrelevant syntactic differences

74 Types of Equivalence Structural Functionally irrelevant syntactic differences Behavioural

75 Types of Equivalence Structural Functionally irrelevant syntactic differences Behavioural Overlap within SQL features

76 Types of Equivalence Structural Functionally irrelevant syntactic differences Behavioural Overlap within SQL features

77 Behavioural Equivalence Patterns

78 Behavioural Equivalence Patterns NOT NULL in CHECK constraints NOT NULL CHECK( IS NOT NULL)

79 Behavioural Equivalence Patterns NOT NULL in CHECK constraints NOT NULL CHECK( IS NOT NULL) 1 CREATE TABLE T ( 2 A CHAR NOT NULL, 3 ); 1 CREATE TABLE T ( 2 A CHAR, 3 CHECK(A IS NOT NULL) 4 );

80 Behavioural Equivalence Patterns

81 Behavioural Equivalence Patterns NOT NULL on PRIMARY KEY columns

82 Behavioural Equivalence Patterns NOT NULL on PRIMARY KEY columns Implicit NOT NULL on PRIMARY KEY

83 Behavioural Equivalence Patterns NOT NULL on PRIMARY KEY columns Implicit NOT NULL on PRIMARY KEY (Only PostgreSQL and HyperSQL)

84 Behavioural Equivalence Patterns NOT NULL on PRIMARY KEY columns

85 Behavioural Equivalence Patterns NOT NULL on PRIMARY KEY columns 1 CREATE TABLE T ( 2 A CHAR, 3 PRIMARY KEY (A) 4 ); 1 CREATE TABLE T ( 2 A CHAR NOT NULL, 3 PRIMARY KEY (A) 4 );

86 Behavioural Equivalence Patterns

87 Behavioural Equivalence Patterns UNIQUE and PRIMARY KEY with shared columns

88 Behavioural Equivalence Patterns UNIQUE and PRIMARY KEY with shared columns 1 CREATE TABLE T ( 2 A CHAR, 3 PRIMARY KEY (A) 4 ); 1 CREATE TABLE T ( 2 A CHAR, 3 PRIMARY KEY (A), 4 UNIQUE (A) 5 );

89 Quasi-mutants

90 Quasi-mutants Operators produce DBMS-agnostic mutants

91 Quasi-mutants Operators produce DBMS-agnostic mutants Some DBMSs have implicit constraints

92 Quasi-mutants Operators produce DBMS-agnostic mutants Some DBMSs have implicit constraints Valid for some DBMSs, invalid for others PostgreSQL HyperSQL SQLite

93 Quasi-mutants Operators produce DBMS-agnostic mutants Some DBMSs have implicit constraints Valid for some DBMSs, invalid for others PostgreSQL HyperSQL SQLite

94 Quasi-mutants PostgreSQL HyperSQL SQLite

95 Quasi-mutants Cannot adversely affect mutation score PostgreSQL HyperSQL SQLite

96 Quasi-mutants Cannot adversely affect mutation score but may preclude some optimisations PostgreSQL HyperSQL SQLite

97 Quasi-mutants Cannot adversely affect mutation score but may preclude some optimisations Remove when DBMS will reject them SQLite PostgreSQL HyperSQL

98 Types of Quasi-mutants

99 Types of Quasi-mutants Representative example

100 Types of Quasi-mutants Representative example DBMS: PostgreSQL, HyperSQL

101 Types of Quasi-mutants Representative example DBMS: PostgreSQL, HyperSQL FK(reference columns) (PK(reference columns) Unique(reference columns))

102 Types of Quasi-mutants Representative example DBMS: PostgreSQL, HyperSQL FK(reference columns) (PK(reference columns) Unique(reference columns))

103 Types of Quasi-mutants Representative example DBMS: PostgreSQL, HyperSQL FK(reference columns) (PK(reference columns) Unique(reference columns))

104 Types of Quasi-mutants Representative example DBMS: PostgreSQL, HyperSQL FK(reference columns) (PK(reference columns) Unique(reference columns))

105 Types of Quasi-mutants Representative example DBMS: PostgreSQL, HyperSQL FK(reference columns) (PK(reference columns) Unique(reference columns))

106 Types of Quasi-mutants Representative example DBMS: PostgreSQL, HyperSQL (PK(reference columns) Unique(reference

107 Detecting Quasi-mutants

108 Detecting Quasi-mutants Submit to DBMS

109 Detecting Quasi-mutants Submit to DBMS 100% accurate

110 Detecting Quasi-mutants Submit to DBMS 100% accurate Convert representation to SQL, submit to database, inspect response

111 Detecting Quasi-mutants Submit to DBMS 100% accurate Convert representation to SQL, submit to database, inspect response Analyse statically

112 Detecting Quasi-mutants Submit to DBMS 100% accurate Convert representation to SQL, submit to database, inspect response Analyse statically Operates directly on representation

113 Detecting Quasi-mutants Submit to DBMS 100% accurate Convert representation to SQL, submit to database, inspect response Analyse statically Operates directly on representation DBMS-specific implementation

114 Empirical Study

115 Empirical Study 1. Quasi-mutant detection DBMS v Static Analysis

116 Empirical Study 1. Quasi-mutant detection DBMS v Static Analysis 2. Equivalent, Redundant and Quasi-mutant removal Efficiency?

117 Empirical Study 1. Quasi-mutant detection DBMS v Static Analysis 2. Equivalent, Redundant and Quasi-mutant removal Efficiency? 3. Equivalent, Redundant and Quasi-mutant removal Effectiveness?

118 Empirical Study

119 16 schemas Empirical Study

120 Empirical Study 16 schemas 2 DBMSs PostgreSQL, HyperSQL

121 Empirical Study 16 schemas 2 DBMSs PostgreSQL, HyperSQL 15 repeat trials

122 Empirical Study 16 schemas 2 DBMSs PostgreSQL, HyperSQL 15 repeat trials

123 Empirical Study Quasi-mutants

124 Empirical Study Quasi-mutants 5 conditions:

125 Empirical Study Quasi-mutants 5 conditions: Postgres (with/without transactions)

126 Empirical Study Quasi-mutants 5 conditions: Postgres (with/without transactions) HyperSQL (with/without transactions)

127 Empirical Study Quasi-mutants 5 conditions: Postgres (with/without transactions) HyperSQL (with/without transactions) Static analysis

128 Empirical Study Quasi-mutants 5 conditions: Postgres (with/without transactions) HyperSQL (with/without transactions) Static analysis

129 Empirical Study Quasi-mutants Scaled Time Taken HyperSQL HyperSQL Trans. Postgres Approach Postgres Trans. Static

130 Empirical Study Mutant Removal

131 Empirical Study Mutant Removal 2 conditions with and without removal

132 Empirical Study Mutant Removal 2 conditions with and without removal 2 metrics

133 Empirical Study Mutant Removal 2 conditions with and without removal 2 metrics Time taken for mutation analysis

134 Empirical Study Mutant Removal 2 conditions with and without removal 2 metrics Time taken for mutation analysis Mutation score

135 Empirical Study Mutant Removal

136 Empirical Study Mutant Removal HyperSQL Time saved Best case: 718ms (23.05%) Worst case: -824ms (-9.71%)

137 Empirical Study Mutant Removal

138 Empirical Study Mutant Removal HyperSQL Time saved

139 Empirical Study Mutant Removal HyperSQL Time saved 9/16 mean time decrease (p < 0.05)

140 Empirical Study Mutant Removal HyperSQL Time saved 9/16 mean time decrease ( 7/16 mean time increase (p < 0.05)

141 Empirical Study Mutant Removal HyperSQL Time saved 9/16 mean time decrease ( 7/16 mean time increase ( Overall, decrease (1.6% mean, 1.4% median)

142 Empirical Study Mutant Removal

143 Empirical Study Mutant Removal PostgreSQL Time saved Best case: 317,208ms (33.71%) Worst case: -3,086ms, (-0.33%)

144 Empirical Study Mutant Removal

145 Empirical Study Mutant Removal PostgreSQL Time saved

146 Empirical Study Mutant Removal PostgreSQL Time saved 14/16 mean time decrease (p < 0.05)

147 Empirical Study Mutant Removal PostgreSQL Time saved 14/16 mean time decrease ( 2/16 mean time increase (p < 0.05)

148 Empirical Study Mutant Removal PostgreSQL Time saved 14/16 mean time decrease ( 2/16 mean time increase ( Overall, decrease (12.7% mean, 11.8% median)

149 Empirical Study Mutant Removal DBMS Median Time saved (ms) Mean

150 Empirical Study Mutant Removal DBMS Median Time saved (ms) Mean HyperSQL

151 Empirical Study Mutant Removal DBMS Median Time saved (ms) Mean HyperSQL Postgres 8,071 50,880

152 Empirical Study Mutant Removal DBMS Median Time saved (ms) Mean HyperSQL Postgres 8,071 50,880 Both ,450

153 Empirical Study Mutant Removal DBMS Median Time saved (%) Mean HyperSQL Postgres Both

154 Empirical Study Mutant Removal

155 Empirical Study Mutant Removal HyperSQL Mutation score 75% Increased 44% Adequate 25% No change

156 Empirical Study Mutant Removal PostgreSQL Mutation score 75% Increased 44% Adequate 25% No change

157 Empirical Study Mutant Removal DBMS Increased (adequate) Scores changed (%) No change HyperSQL 75 (44) 25 Postgres 75 (44) 25 Both 75 (44) 25

158 Conclusion 1. Quasi-mutant detection DBMS v Static Analysis 2. Equivalent, Redundant and Quasi-mutant removal Efficiency? 3. Equivalent, Redundant and Quasi-mutant removal Effectiveness?

159 Conclusion 1. Quasi-mutant detection DBMS v Static Analysis 2. Equivalent, Redundant and Quasi-mutant removal Efficiency? 3. Equivalent, Redundant and Quasi-mutant removal Effectiveness?

160 Conclusion 1. Quasi-mutant detection DBMS v Static Analysis 2. Equivalent, Redundant and Quasi-mutant removal Efficiency? 3. Equivalent, Redundant and Quasi-mutant removal Effectiveness?

161 Conclusion 1. Quasi-mutant detection Improved efficiency 2. Equivalent, Redundant and Quasi-mutant removal Improved efficiency 3. Equivalent, Redundant and Quasi-mutant removal Improved effectiveness

162 Conclusion 1. Quasi-mutant detection Improved efficiency 2. Equivalent, Redundant and Quasi-mutant removal Improved efficiency 3. Equivalent, Redundant and Quasi-mutant removal Improved effectiveness Chris J. Wright

Mutation Analysis of Relational Database Schemas

Mutation Analysis of Relational Database Schemas Mutation Analysis of Relational Database Schemas Chris J. Wright Supervisor: Phil McMinn External Advisor: Gregory Kapfhammer A thesis submitted in partial fulfilment of the requirements for the degree

More information

This is a repository copy of Virtual Mutation Analysis of Relational Database Schemas.

This is a repository copy of Virtual Mutation Analysis of Relational Database Schemas. This is a repository copy of Virtual Mutation Analysis of Relational Database Schemas. White Rose Research Online URL for this paper: http://eprints.whiterose.ac.uk/96265/ Version: Accepted Version Proceedings

More information

Efficient Mutation Analysis of Relational Database Structure Using Mutant Schemata and Parallelisation

Efficient Mutation Analysis of Relational Database Structure Using Mutant Schemata and Parallelisation Efficient Mutation Analysis of Relational Database Structure Using Mutant and Parallelisation Chris J. Wright Department of Computer Science University of Sheffield Gregory M. Kapfhammer Department of

More information

The Effectiveness of Test Coverage Criteria for Relational Database Schema Integrity Constraints

The Effectiveness of Test Coverage Criteria for Relational Database Schema Integrity Constraints The Effectiveness of Test Coverage Criteria for Relational Database Schema Integrity Constraints PHIL MCMINN and CHRIS J. WRIGHT, University of Sheffield GREGORY M. KAPFHAMMER, Allegheny College Despite

More information

A The Effectiveness of Test Coverage Criteria for Relational Database Schema Integrity Constraints

A The Effectiveness of Test Coverage Criteria for Relational Database Schema Integrity Constraints A The Effectiveness of Test Coverage Criteria for Relational Database Schema Integrity Constraints PHIL MCMINN, University of Sheffield, UK CHRIS J. WRIGHT, University of Sheffield, UK GREGORY M. KAPFHAMMER,

More information

CS W Introduction to Databases Spring Computer Science Department Columbia University

CS W Introduction to Databases Spring Computer Science Department Columbia University CS W4111.001 Introduction to Databases Spring 2018 Computer Science Department Columbia University 1 in SQL 1. Key constraints (PRIMARY KEY and UNIQUE) 2. Referential integrity constraints (FOREIGN KEY

More information

Chapter Five Physical Database Design

Chapter Five Physical Database Design Chapter Five Physical Database Design 1 Objectives Understand Purpose of physical database design Describe the physical database design process Choose storage formats for attributes Describe indexes and

More information

Oracle Schema Create Date Index Trunc >>>CLICK HERE<<<

Oracle Schema Create Date Index Trunc >>>CLICK HERE<<< Oracle Schema Create Date Index Trunc Changes in This Release for Oracle Database SQL Language Reference. open References to Partitioned Tables and Indexes References to Object Type Attributes and Methods

More information

Automatic Detection of Potential Layout Faults in Responsive Web Pages

Automatic Detection of Potential Layout Faults in Responsive Web Pages Thomas A. Walsh*, Phil McMinn* and Gregory M. Kapfhammer + University of Sheffield*, Allegheny College + www.thomaswalsh.co.uk The Web - Past and Present https://blog.pivotal.io/labs/labs/an-introduction-to-qa-at-xtreme-labs

More information

CSE 530A. Inheritance and Partitioning. Washington University Fall 2013

CSE 530A. Inheritance and Partitioning. Washington University Fall 2013 CSE 530A Inheritance and Partitioning Washington University Fall 2013 Inheritance PostgreSQL provides table inheritance SQL defines type inheritance, PostgreSQL's table inheritance is different A table

More information

Database Migration Assessment (DMA)

Database Migration Assessment (DMA) Database Migration Assessment (DMA) A compatibility analysis for deploying Oracle schema, , on EnterpriseDB Postgres Plus Advanced Server. Copyright 2014 EnterpriseDB Corporation.

More information

MTAT : Software Testing

MTAT : Software Testing MTAT.03.159: Software Testing Lecture 04: Static Analysis (Inspection) and Defect Estimation, Mutation Testing (Textbook Ch. 10 & 12) Spring 2015 Dietmar Pfahl email: dietmar.pfahl@ut.ee Structure of Lecture

More information

Data Base Concepts. Course Guide 2

Data Base Concepts. Course Guide 2 MS Access Chapter 1 Data Base Concepts Course Guide 2 Data Base Concepts Data The term data is often used to distinguish binary machine-readable information from textual human-readable information. For

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

MAJOR: An Efficient and Extensible Tool for Mutation Analysis in a Java Compiler

MAJOR: An Efficient and Extensible Tool for Mutation Analysis in a Java Compiler MAJOR: An Efficient and Extensible Tool for Mutation Analysis in a Java Compiler René Just 1, Franz Schweiggert 1, and Gregory M. Kapfhammer 2 1 Ulm University, Germany 2 Allegheny College, USA 26th International

More information

Index. Bitmap Heap Scan, 156 Bitmap Index Scan, 156. Rahul Batra 2018 R. Batra, SQL Primer,

Index. Bitmap Heap Scan, 156 Bitmap Index Scan, 156. Rahul Batra 2018 R. Batra, SQL Primer, A Access control, 165 granting privileges to users general syntax, GRANT, 170 multiple privileges, 171 PostgreSQL, 166 169 relational databases, 165 REVOKE command, 172 173 SQLite, 166 Aggregate functions

More information

Information Systems Engineering. SQL Structured Query Language DDL Data Definition (sub)language

Information Systems Engineering. SQL Structured Query Language DDL Data Definition (sub)language Information Systems Engineering SQL Structured Query Language DDL Data Definition (sub)language 1 SQL Standard Language for the Definition, Querying and Manipulation of Relational Databases on DBMSs Its

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

PostgreSQL Database and C++ Interface (and Midterm Topics) ECE 650 Systems Programming & Engineering Duke University, Spring 2018

PostgreSQL Database and C++ Interface (and Midterm Topics) ECE 650 Systems Programming & Engineering Duke University, Spring 2018 PostgreSQL Database and C++ Interface (and Midterm Topics) ECE 650 Systems Programming & Engineering Duke University, Spring 2018 PostgreSQL Also called Postgres Open source relational database system

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

ECE 650 Systems Programming & Engineering. Spring 2018

ECE 650 Systems Programming & Engineering. Spring 2018 ECE 650 Systems Programming & Engineering Spring 2018 PostgreSQL Database and C++ Interface Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke) Also called Postgres Open source relational

More information

Effectual Mutation Analysis of Relational Database using Minimal Schemata with Parallelization

Effectual Mutation Analysis of Relational Database using Minimal Schemata with Parallelization Effectual Mutation Analysis of Relational Database using Minimal Schemata with Parallelization Thesis submitted in partial fulfillment of the requirements for the award of degree of Master of Technology

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

White Box Testing III

White Box Testing III White Box Testing III Outline Today we continue our look at white box testing methods, with mutation testing We will look at : definition and role of mutation testing what is a mutation? how is mutation

More information

What is Mutation Testing? Mutation Testing. Test Case Adequacy. Mutation Testing. Mutant Programs. Example Mutation

What is Mutation Testing? Mutation Testing. Test Case Adequacy. Mutation Testing. Mutant Programs. Example Mutation What is Mutation Testing? Mutation Testing Breaking the application to test it n Mutation Testing is a testing technique that focuses on measuring the adequacy of test cases n Mutation Testing is NOT a

More information

Grading Schemas. Blackboard Learn Grade Center

Grading Schemas. Blackboard Learn Grade Center Grading Schemas Blackboard Learn Grade Center Creating a Grading Schema... 1 Editing a Grading Schema... 3 Deleting a Grading Schema... 4 Copying a Grading Schema... 5 Assigning a Grading Schema to a Grade

More information

CS157a Fall 2018 Sec3 Home Page/Syllabus

CS157a Fall 2018 Sec3 Home Page/Syllabus CS157a Fall 2018 Sec3 Home Page/Syllabus Introduction to Database Management Systems Instructor: Chris Pollett Office: MH 214 Phone Number: (408) 924 5145 Email: chris@pollett.org Office Hours: MW 4:30-5:45pm

More information

Update Table Schema Sql Server 2008 Add Column Default Value

Update Table Schema Sql Server 2008 Add Column Default Value Update Table Schema Sql Server 2008 Add Column Default Value In SQL Server 2008, I am adding a non-nullable column to an existing table, and INTO MyTable DEFAULT VALUES GO 1000 ALTER TABLE MyTable ADD.

More information

Comparative Assessment of Testing and Model Checking Using Program Mutation

Comparative Assessment of Testing and Model Checking Using Program Mutation Comparative Assessment of Testing and Using Mutation Research Talk Jeremy S. Bradbury, James R. Cordy, Juergen Dingel School of Computing! Queen s University Kingston! Ontario! Canada {bradbury, cordy,

More information

Introduction to Software Testing Chapter 5.1 Syntax-based Testing

Introduction to Software Testing Chapter 5.1 Syntax-based Testing Introduction to Software Testing Chapter 5.1 Syntax-based Testing Paul Ammann & Jeff Offutt http://www.cs.gmu.edu/~offutt/ softwaretest/ Ch. 5 : Syntax Coverage Four Structures for Modeling Software Graphs

More information

CSIT115/CSIT815 Data Management and Security Assignment 2

CSIT115/CSIT815 Data Management and Security Assignment 2 School of Computing and Information Technology Session: Autumn 2016 University of Wollongong Lecturer: Janusz R. Getta CSIT115/CSIT815 Data Management and Security Assignment 2 Scope This assignment consists

More information

CS 250 Databases and DBMSs. Benjamin Dicken

CS 250 Databases and DBMSs. Benjamin Dicken CS 250 Databases and DBMSs Benjamin Dicken Databases and DBMSs The word database is thrown around a lot, but it is often misused When learning about databases it is important to distinguish between a database

More information

Database Modifications and Transactions

Database Modifications and Transactions Database Modifications and Transactions FCDB 6.5 6.6 Dr. Chris Mayfield Department of Computer Science James Madison University Jan 31, 2018 pgadmin from home (the easy way) 1. Connect to JMU s network

More information

Full file at

Full file at SQL for SQL Server 1 True/False Questions Chapter 2 Creating Tables and Indexes 1. In order to create a table, three pieces of information must be determined: (1) the table name, (2) the column names,

More information

Carnegie Mellon Univ. Dept. of Computer Science Database Applications. Outline. We ll learn: Faloutsos CMU SCS

Carnegie Mellon Univ. Dept. of Computer Science Database Applications. Outline. We ll learn: Faloutsos CMU SCS Faloutsos 15-415 Carnegie Mellon Univ. Dept. of Computer Science 15-415 - Database Applications C. Faloutsos Lecture#1: Introduction Outline Introduction to DBMSs The Entity Relationship model The Relational

More information

Databases and SQL programming overview

Databases and SQL programming overview Databases and SQL programming overview Databases: Digital collections of data A database system has: Data + supporting data structures The management system (DBMS) Popular DBMS Commercial: Oracle, IBM,

More information

Announcements. Outline UNIQUE. (Inner) joins. (Inner) Joins. Database Systems CSE 414. WQ1 is posted to gradebook double check scores

Announcements. Outline UNIQUE. (Inner) joins. (Inner) Joins. Database Systems CSE 414. WQ1 is posted to gradebook double check scores Announcements Database Systems CSE 414 Lectures 4: Joins & Aggregation (Ch. 6.1-6.4) WQ1 is posted to gradebook double check scores WQ2 is out due next Sunday HW1 is due Tuesday (tomorrow), 11pm HW2 is

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

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

Comp 5311 Database Management Systems. 4b. Structured Query Language 3

Comp 5311 Database Management Systems. 4b. Structured Query Language 3 Comp 5311 Database Management Systems 4b. Structured Query Language 3 1 SQL as Data Definition Language Creates the Students relation. The type (domain) of each field is specified, and enforced by the

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

Module Contact: Dr Beatriz de la Iglesia, CMP Copyright of the University of East Anglia Version 1

Module Contact: Dr Beatriz de la Iglesia, CMP Copyright of the University of East Anglia Version 1 UNIVERSITY OF EAST ANGLIA School of Computing Sciences Main Series UG Examination 2015-16 DATABASE SYSTEMS CMP-4010B / CMP-5038B Time allowed: 3 hours Answer THREE questions out of FIVE. All questions

More information

Introduction to Information Systems

Introduction to Information Systems Table of Contents 1... 2 1.1 Introduction... 2 1.2 Architecture of Information systems... 2 1.3 Classification of Data Models... 4 1.4 Relational Data Model (Overview)... 8 1.5 Conclusion... 12 1 1.1 Introduction

More information

CS275 Intro to Databases

CS275 Intro to Databases CS275 Intro to Databases The Relational Data Model Chap. 3 How Is Data Retrieved and Manipulated? Queries Data manipulation language (DML) Retrieval Add Delete Update An Example UNIVERSITY database Information

More information

Administrivia. The Relational Model. Review. Review. Review. Some useful terms

Administrivia. The Relational Model. Review. Review. Review. Some useful terms Administrivia The Relational Model Ramakrishnan & Gehrke Chapter 3 Homework 0 is due next Thursday No discussion sections next Monday (Labor Day) Enrollment goal ~150, 118 currently enrolled, 47 on the

More information

CSE 344 MAY 14 TH ENTITIES

CSE 344 MAY 14 TH ENTITIES CSE 344 MAY 14 TH ENTITIES EXAMS Scores Final grades Concerned? Email about meeting Final Exam 35% of grade ADMINISTRIVIA HW6 Due Wednesday OQ6 Out Wednesday HW7 Out Wednesday E/R + Normalization DATABASE

More information

Tutorial 1 Database: Introductory Topics

Tutorial 1 Database: Introductory Topics Tutorial 1 Database: Introductory Topics Theory Reference: Rob, P. & Coronel, C. Database Systems: Design, Implementation & Management, 6th Edition, 2004, Chapter 1. Review Questions 2 7, 9 10. Problems

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

Enterprise Architect. User Guide Series. Database Models. Author: Sparx Systems. Date: 19/03/2018. Version: 1.0 CREATED WITH

Enterprise Architect. User Guide Series. Database Models. Author: Sparx Systems. Date: 19/03/2018. Version: 1.0 CREATED WITH Enterprise Architect User Guide Series Database Models Author: Sparx Systems Date: 19/03/2018 Version: 1.0 CREATED WITH Table of Contents Database Models Data Modeling Overview Conceptual Data Model Logical

More information

SQL language. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

SQL language. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) SQL language Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) 2011-2016 SQL - Structured Query Language SQL is a computer language for communicating with DBSM Nonprocedural (declarative) language What

More information

Mechanisms for Database Intrusion Detection and Response. Michael Sintim - Koree SE 521 March 6, 2013.

Mechanisms for Database Intrusion Detection and Response. Michael Sintim - Koree SE 521 March 6, 2013. Mechanisms for Database Intrusion Detection and Response Michael Sintim - Koree SE 521 March 6, 2013. Article Title: Mechanisms for Database Intrusion Detection and Response Authors: Ashish Kamra, Elisa

More information

10 Database Design 1

10 Database Design 1 10 Database Design 1 Objectives Discuss the general process and goals of database design Define user views and explain their function Define Database Design Language (DBDL) and use it to document database

More information

ElephantSQL. PostgreSQL as a Service. Product overview. Last Updated

ElephantSQL. PostgreSQL as a Service. Product overview. Last Updated ElephantSQL PostgreSQL as a Service Product overview Table of Contents...1 ElephantSQL...3 PostgreSQL as a Service...3 What is PostgreSQL?...3 Product overview...4 Product Details...4 SQL Browser...4 Other

More information

Chapter 1: Introduction

Chapter 1: Introduction Chapter 1: Introduction Chapter 2: Intro. To the Relational Model Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Database Management System (DBMS) DBMS is Collection of

More information

How to Recover a Primavera P6 Password

How to Recover a Primavera P6 Password How to Recover a Primavera P6 Password The answer to this problem depends on what type of database you are connecting to. Take a look at the two options below to see which one pertains to you. Error: Invalid

More information

Relation Databases. By- Neha Tyagi PGT CS KV 5 Jaipur II Shift Jaipur Region. Based on CBSE Curriculum Class -11. Neha Tyagi, PGT CS II Shift Jaipur

Relation Databases. By- Neha Tyagi PGT CS KV 5 Jaipur II Shift Jaipur Region. Based on CBSE Curriculum Class -11. Neha Tyagi, PGT CS II Shift Jaipur Relation Databases Based on CBSE Curriculum Class -11 By- Neha Tyagi PGT CS KV 5 Jaipur II Shift Jaipur Region Neha Tyagi, PGT CS II Shift Jaipur Introduction A Database System is basically a record keeping

More information

The Relational Model. Chapter 3. Comp 521 Files and Databases Fall

The Relational Model. Chapter 3. Comp 521 Files and Databases Fall The Relational Model Chapter 3 Comp 521 Files and Databases Fall 2014 1 Why the Relational Model? Most widely used model by industry. IBM, Informix, Microsoft, Oracle, Sybase, MySQL, Postgres, Sqlite,

More information

CS 250 SQL and SQLite. Benjamin Dicken

CS 250 SQL and SQLite. Benjamin Dicken CS 250 SQL and SQLite Benjamin Dicken SQL SQL (Structured Query Language) is a programming language designed for managing schema and data held in a relational database management system (RDBMS) SQLite

More information

Module 9: Managing Schema Objects

Module 9: Managing Schema Objects Module 9: Managing Schema Objects Overview Naming guidelines for identifiers in schema object definitions Storage and structure of schema objects Implementing data integrity using constraints Implementing

More information

HCW Human Centred Web. HuCEL: Keywords Experiment Manual. School of Computer Science. Information Management Group

HCW Human Centred Web. HuCEL: Keywords Experiment Manual. School of Computer Science. Information Management Group HCW HuCEL Technical Report 1, June 2009 School of Computer Science Information Management Group HuCEL: Keywords Experiment Manual Paul Waring Human Centred Web Lab School of Computer Science University

More information

Carnegie Mellon University in Qatar Spring Problem Set 4. Out: April 01, 2018

Carnegie Mellon University in Qatar Spring Problem Set 4. Out: April 01, 2018 Carnegie Mellon University in Qatar 15415 - Spring 2018 Problem Set 4 Out: April 01, 2018 Due: April 11, 2018 1 1 B + External Sorting [20 Points] Suppose that you just nished inserting several records

More information

Course Details Duration: 3 days Starting time: 9.00 am Finishing time: 4.30 pm Lunch and refreshments are provided.

Course Details Duration: 3 days Starting time: 9.00 am Finishing time: 4.30 pm Lunch and refreshments are provided. Database Administration with PostgreSQL Introduction This is a 3 day intensive course in skills and methods for PostgreSQL. Course Details Duration: 3 days Starting time: 9.00 am Finishing time: 4.30 pm

More information

Test data augmentation : generating new test data from existing test data

Test data augmentation : generating new test data from existing test data Test data augmentation : generating new test data from existing test data Technical Report : TR-8-4 Shin Yoo & Mark Harman Department of Computer Science Centre for Research on Evolution, Search & Testing

More information

Creating Tables, Defining Constraints. Rose-Hulman Institute of Technology Curt Clifton

Creating Tables, Defining Constraints. Rose-Hulman Institute of Technology Curt Clifton Creating Tables, Defining Constraints Rose-Hulman Institute of Technology Curt Clifton Outline Data Types Creating and Altering Tables Constraints Primary and Foreign Key Constraints Row and Tuple Checks

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

Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications

Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications Carnegie Mellon Univ. Dept. of Computer Science 15-415/615 - DB Applications C. Faloutsos A. Pavlo Lecture#1: Introduction Outline Introduction to DBMSs The Entity Relationship model The Relational Model

More information

CSE 344 AUGUST 1 ST ENTITIES

CSE 344 AUGUST 1 ST ENTITIES CSE 344 AUGUST 1 ST ENTITIES EXAMS Will hand back after class Quartiles 1 0 67 2 68 74 3 74 82 4 82 100 (no one actually got 0 or 100) ADMINISTRIVIA HW6 due Wednesday Spark SQL interface much easier to

More information

COMM 391. Objectives. Introduction to Microsoft Access. What is in an Access database file? Introduction to Microsoft Access 2010

COMM 391. Objectives. Introduction to Microsoft Access. What is in an Access database file? Introduction to Microsoft Access 2010 Objectives COMM 391 Introduction to Management Information Systems Introduction to Microsoft Access 2010 Describe the major objects in Access database. Define field, record, table and database. Navigate

More information

Oracle Create Table Foreign Key On Delete No

Oracle Create Table Foreign Key On Delete No Oracle Create Table Foreign Key On Delete No Action Can I create a foreign key against only part of a composite primary key? For example, if you delete a row from the ProductSubcategory table, it could

More information

Practice and Applications of Data Management CMPSCI 345. Lecture 13: Transactions

Practice and Applications of Data Management CMPSCI 345. Lecture 13: Transactions Practice and Applications of Data Management CMPSCI 345 Lecture 3: Transactions Transactions } Problem: An applica0on must perform several writes and reads to the database, as a unit. } Example: Two people

More information

(Tests = 40%) + (Assignments = 40%) + (Participation = 20%) = (Quarter Final Grade)

(Tests = 40%) + (Assignments = 40%) + (Participation = 20%) = (Quarter Final Grade) Weighted Column GRADE CENTER The weighted column is a type of calculated column that generates a grade based on the result of selected columns and categories, and their respective percentages. A weighted

More information

Database Management Systems Introduction to DBMS

Database Management Systems Introduction to DBMS Database Management Systems Introduction to DBMS D B M G 1 Introduction to DBMS Data Base Management System (DBMS) A software package designed to store and manage databases We are interested in internal

More information

Querying Microsoft SQL Server (461)

Querying Microsoft SQL Server (461) Querying Microsoft SQL Server 2012-2014 (461) Create database objects Create and alter tables using T-SQL syntax (simple statements) Create tables without using the built in tools; ALTER; DROP; ALTER COLUMN;

More information

CS448 Designing and Implementing a Mini Relational DBMS

CS448 Designing and Implementing a Mini Relational DBMS CS448 Designing and Implementing a Mini Relational DBMS Credit: 20 points Due Date: Midnight of April 2, 2014 without any penalties. The last day to submit the program is April 9, 2014 with 1 point penalty

More information

The Relational Model of Data (ii)

The Relational Model of Data (ii) ICS 321 Fall 2013 The Relational Model of Data (ii) Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa 1 Defining Relational Schema in SQL Two aspects: Data

More information

Introduction to Data Management CSE 344

Introduction to Data Management CSE 344 Introduction to Data Management CSE 344 Lecture 16: Constraints CSE 344 - Fall 2014 1 Announcements Sections tomorrow: XML. Quiz and next HW on XML posted soon, due next week after midterm HW 4 due tomorrow

More information

Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Outline. We ll learn: Faloutsos/Pavlo CMU /615

Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Outline. We ll learn: Faloutsos/Pavlo CMU /615 Carnegie Mellon Univ. Dept. of Computer Science 15-415/615 - DB Applications C. Faloutsos A. Pavlo Lecture#1: Introduction Outline Introduction to DBMSs The Entity Relationship model The Relational Model

More information

Outline. Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. We ll learn: We ll learn (cnt d) Faloutsos/Pavlo CMU /615

Outline. Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. We ll learn: We ll learn (cnt d) Faloutsos/Pavlo CMU /615 Carnegie Mellon Univ. Dept. of Computer Science 15-415/615 - DB Applications C. Faloutsos A. Pavlo Lecture#1: Introduction Introduction to DBMSs Outline The Entity Relationship model The Relational Model

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

Manual Trigger Sql Server Example Update Column Value

Manual Trigger Sql Server Example Update Column Value Manual Trigger Sql Server Example Update Column Value Is it possible to check a column value, then before insert or update change can you direct me to a simple tutorial for trigger, user3400838 Jun 30

More information

DS Introduction to SQL Part 2 Multi-table Queries. By Michael Hahsler based on slides for CS145 Introduction to Databases (Stanford)

DS Introduction to SQL Part 2 Multi-table Queries. By Michael Hahsler based on slides for CS145 Introduction to Databases (Stanford) DS 1300 - Introduction to SQL Part 2 Multi-table Queries By Michael Hahsler based on slides for CS145 Introduction to Databases (Stanford) What you will learn about in this section 1. Foreign key constraints

More information

(Extended) Entity Relationship

(Extended) Entity Relationship 03 - Database Design, UML and (Extended) Entity Relationship Modeling CS530 Database Architecture Models and Design Prof. Ian HORROCKS Dr. Robert STEVENS In this Section Topics Covered Database Design

More information

SQL: A COMMERCIAL DATABASE LANGUAGE. Complex Constraints

SQL: A COMMERCIAL DATABASE LANGUAGE. Complex Constraints SQL: A COMMERCIAL DATABASE LANGUAGE Complex Constraints Outline 1. Introduction 2. Data Definition, Basic Constraints, and Schema Changes 3. Basic Queries 4. More complex Queries 5. Aggregate Functions

More information

ETL Testing Concepts:

ETL Testing Concepts: Here are top 4 ETL Testing Tools: Most of the software companies today depend on data flow such as large amount of information made available for access and one can get everything which is needed. This

More information

Postgres Copy Table From One Schema To Another

Postgres Copy Table From One Schema To Another Postgres Copy Table From One Schema To Another PostgreSQL: how to periodically copy many tables from one database to another but am free to export a copy of both to another server and do whatever I want

More information

PostgreSQL A User Management Example

PostgreSQL A User Management Example Author : Chris Drawater Date : 19/02/2007 Version : 1.0 PostgreSQL 8.2.1 A User Management Example Abstract PostgreSQL account management can be quite daunting. A worked example can provided a useful source

More information

The Relational Model

The Relational Model The Relational Model UVic C SC 370, Fall 2002 Daniel M. German Department of Computer Science University of Victoria September 25, 2002 Version: 1.03 3 1 The Relational Model (1.03) CSC 370 dmgerman@uvic.ca

More information

SQL (and MySQL) Useful things I have learnt, borrowed and stolen

SQL (and MySQL) Useful things I have learnt, borrowed and stolen SQL (and MySQL) Useful things I have learnt, borrowed and stolen MySQL truncates data MySQL truncates data CREATE TABLE pets ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, type CHAR(3) NOT NULL, PRIMARY KEY

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

Introduction to Databases

Introduction to Databases Introduction to Databases Abou Bakar Kaleem 1 Overview - Database - Relational Databases - Introduction to SQL Introduction to Databases 2 1 Database (1) Database : - is a collection of related data -

More information

Welcome to CO 572: Advanced Databases

Welcome to CO 572: Advanced Databases Welcome to CO 572: Advanced Databases Holger Pirk Holger Pirk Welcome to CO 572: Advanced Databases 1 / 41 Purpose of this Lecture Figuring stu out What you know This should mostly be revision (tell me

More information

Data, Databases, and DBMSs

Data, Databases, and DBMSs Todd S. Bacastow January 2004 IST 210 Data, Databases, and DBMSs 1 Evolution Ways of storing data Files ancient times (1960) Databases Hierarchical (1970) Network (1970) Relational (1980) Object (1990)

More information

Change Schema For All Tables In Sql Server 2008

Change Schema For All Tables In Sql Server 2008 Change Schema For All Tables In Sql Server 2008 I am trying to understand why changing schema ownership is causing permissions to be revoked. I am having a hard 3.i am able to access now all tables with

More information

Let s briefly review important EER inheritance concepts

Let s briefly review important EER inheritance concepts Let s briefly review important EER inheritance concepts 1 is-a relationship Copyright (c) 2011 Pearson Education 2 Basic Constraints Partial / Disjoint: Single line / d in circle Each entity can be an

More information

Searching for Program Invariants using Genetic Programming and Mutation Testing

Searching for Program Invariants using Genetic Programming and Mutation Testing Searching for Program Invariants using Genetic Programming and Mutation Testing Sam Ratcliff, David R. White and John A. Clark. The 13th CREST Open Workshop Thursday 12 May 2011 Outline Invariants Using

More information

Database Management Systems. Chapter 3 Part 1

Database Management Systems. Chapter 3 Part 1 Database Management Systems Chapter 3 Part 1 The Relational Model Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Why Study the Relational Model? Most widely used model. Vendors: IBM,

More information

Concepts of Database Management Seventh Edition. Chapter 4 The Relational Model 3: Advanced Topics

Concepts of Database Management Seventh Edition. Chapter 4 The Relational Model 3: Advanced Topics Concepts of Database Management Seventh Edition Chapter 4 The Relational Model 3: Advanced Topics Views View: application program s or individual user s picture of the database Less involved than full

More information

Database Systems CSE 414

Database Systems CSE 414 Database Systems CSE 414 Lectures 4: Joins & Aggregation (Ch. 6.1-6.4) 1 Announcements Should now have seats for all registered 2 Outline Inner joins (6.2, review) Outer joins (6.3.8) Aggregations (6.4.3

More information

Essay Question: Explain 4 different means by which constrains are represented in the Conceptual Data Model (CDM).

Essay Question: Explain 4 different means by which constrains are represented in the Conceptual Data Model (CDM). Question 1 Essay Question: Explain 4 different means by which constrains are represented in the Conceptual Data Model (CDM). By specifying participation conditions By specifying the degree of relationship

More information

Database Design and the E-R Model (7.4, )

Database Design and the E-R Model (7.4, ) CSL 451 Introduction to Database Systems Database Design and the E-R Model (7.4, 7.6-7.8) Department of Computer Science and Engineering Indian Institute of Technology Ropar Narayanan (CK) Chatapuram Krishnan!

More information