COMP 5138 Relational Database Management Systems. Week 5 : Basic SQL. Today s Agenda. Overview. Basic SQL Queries. Joins Queries

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "COMP 5138 Relational Database Management Systems. Week 5 : Basic SQL. Today s Agenda. Overview. Basic SQL Queries. Joins Queries"

Transcription

1 COMP 5138 Relational Database Management Systems Week 5 : Basic COMP5138 "Relational Database Managment Systems" J. Davis Today s Agenda Overview Basic Queries Joins Queries Aggregate Functions and Set Operations Textbook, Chapter 5 (up to 5.6) COMP5138 "Relational Database Managment Systems" J. Davis

2 - The Structured Query Language is the standard declarative query language for RDBMS Describing what data we are interested in, but not how to retrieve it. Based on SEQUEL Introduced in the mid-1970 s as the query language for IBM s System (Structured English Query Language) ANSI standard since 1986, ISO-standard since : revised to : more features added : major rework :1999 ( 3) :2003 bugfix release of :1999 plus /XML COMP5138 "Relational Database Managment Systems" J. Davis Overview DDL (Data Definition Language) Create, drop, or alter the relation schema DML (Data Manipulation Language) The retrieval of information stored in the database A Query is a statement requesting the retrieval of information The portion of a DML that involves information retrieval is called a query language The insertion of new information into the database The deletion of information from the database The modification of information stored in the database DCL (Data Control Language) Commands that control a database, including administering privileges and users COMP5138 "Relational Database Managment Systems" J. Davis

3 DDL Remember from last lecture / Week 3: Creation of tables (relations): CREATE TABLE name ( list_of_columns ) Create new relation with given name and list of columns Specify domain type for each column Also: Specify Integrity Constraints PRIMARY KEY and FOREIGN KEY REFERENCES parent_table NULL / NOT NULL constraints Much more on that in two weeks time Deletion of tables (relations): DROP TABLE name the schema information and the tuples are deleted. COMP5138 "Relational Database Managment Systems" J. Davis DML Statements Insertion of new data into a table / relation Syntax: INSERT INTO table [ ( list-of-columns ) ] VALUES ( list-of-expression ) Example: INSERT INTO Students (sid, name) VALUES (53688, Smith ) Updating of tuples in a table / relation Syntax: UPDATE table SET column = expression {, column = expression} [ WHERE search_condition ] Example: UPDATE students SET gpa = gpa WHERE gpa >= 3.3 Deleting of tuples from a table / relation Syntax: DELETE FROM table [ WHERE search_condition ] Example: More details on those in a second... DELETE FROM Students WHERE name = Smith COMP5138 "Relational Database Managment Systems" J. Davis

4 Today s Agenda Overview Basic Queries Join Queries Aggregate Functions and Set Operations COMP5138 "Relational Database Managment Systems" J. Davis SELECT Statement Used for queries on single or multiple tables Clauses of the SELECT statement: SELECT Lists the columns (and expressions) that should be returned from the query FROM Indicate the table(s) from which data will be obtained WHERE Indicate the conditions to include a tuple in the result GROUP BY Indicate the categorization of tuples HAVING Indicate the conditions to include a category ORDER BY Sorts the result according to specified criteria The result of an query is a relation A SFW-query is equivalent to the relational algebra expression Π A1, A2,..., An ( σ condition (R 1 x R 2 x... x R m ) ) COMP5138 "Relational Database Managment Systems" J. Davis

5 Running Example sid UoS_Code name birthdate Students enrolled Courses (unit_of_study) title country semester grade credit_ points mark assess teach Lecturer empid room name COMP5138 "Relational Database Managment Systems" J. Davis Running Example - Database Schema sid enrolled UoS_code semester students sid name birthdate country courses UoS_code title credit_points lecturer assessment sid UoS empid mark lecturers empid name room COMP5138 "Relational Database Managment Systems" J. Davis

6 Example: Basic Query List the names of all Australian students. select name from students where country= AUS Corresponding relational algebra expression π name ( σ country= AUS (students) ) Note: does not permit the - character in names, and names are case insensitive, i.e. you can use capital or small letters. You may wish to use upper case where-ever we use bold font. COMP5138 "Relational Database Managment Systems" J. Davis Example: Order By Clause List all students (name) from Australia in alphabetical order. select name from students where country= AUS order by name Two options (per attribute): ASC ascending oder (default) DESC descending order You can order by more than one attribute e.g., order by country desc, name asc COMP5138 "Relational Database Managment Systems" J. Davis

7 Duplicates In contrast to the relational algebra, allows duplicates in relations as well as in query results. To force the elimination of duplicates, insert the keyword distinct after select. Example: List the countries where students come from. select distinct country from students The keyword all specifies that duplicates not be removed. select all country from students COMP5138 "Relational Database Managment Systems" J. Davis Arithmetic Expressions in Select Clause An asterisk in the select clause denotes all attributes SELECT * FROM students The select clause can obtain arithmetic expressions involving the operations +, -, * and /, and operating on constants or attributs of tuples. The query: SELECT uos_code, title, credit_points*2, lecturer FROM courses would return a relation which is the same as the courses relation except that the credit-point-values are doubled. COMP5138 "Relational Database Managment Systems" J. Davis

8 The Rename Operation allows renaming relations and attributes using the as clause: old_name as new_name This is very useful to give, e.g., result columns of expressions a meaningful name. Example: Find the name, loan number and loan amount of all customers; rename the column name loan_number as loan_id. select customer_name, borrower.loan_number as loan_id, amount from borrower, loan where borrower.loan_number = loan.loan_number COMP5138 "Relational Database Managment Systems" J. Davis The WHERE Clause The where clause specifies conditions that the result must satisfy corresponds to the selection predicate of the relational algebra. Comparison operators in : =, >, >=, <, <=,!=, <> Comparison results can be combined using the logical connectives and, or, and not. Comparisons can be applied to results of arithmetic expr. Example: Find all UoS codes for courses taught by employee 1011 that are worth more than four credit points: SELECT uos_code FROM courses WHERE lecturer = 1011 AND credit_points > 4 COMP5138 "Relational Database Managment Systems" J. Davis

9 The WHERE Clause (cont d) includes a between comparison operator (called range queries ) Example: Find all students (by SID) who gained marks in the distinction and high-distinction range in COMP5138. SELECT sid FROM assessment WHERE uos_code = COMP5138 mark BETWEEN 75 AND 100 AND COMP5138 "Relational Database Managment Systems" J. Davis String Operations includes a string-matching operator for comparisons on character strings. LIKE is used for string matching Patterns are described using two special characters ( wildcards ): percent (%). The % character matches any substring. underscore (_). The _ character matches any character. List the titles of all COMP unit of studies. select title from courses where uos_code like COMP% supports a variety of string operations such as concatenation (using ) converting from upper to lower case (and vice versa) finding string length, extracting substrings, etc. COMP5138 "Relational Database Managment Systems" J. Davis

10 The FROM Clause The from clause lists the relations involved in the query corresponds to the Cartesian product operation of the relational algebra. join-predicates must be explicitly stated in the where clause Examples: Find the Cartesian product students x courses SELECT * FROM student, courses Find the student ID, name, and gender of all students enrolled in COMP5138: SELECT sid, name, gender FROM students, enrolled WHERE students.sid = enrolled.sid AND uos_code = COMP5138 COMP5138 "Relational Database Managment Systems" J. Davis Join Example Which students did enroll in what semester? Join involves multiple tables in FROM clause SELECT name, number, semester FROM Students S, Enrolled E WHERE S.sid = E.sid; WHERE clause performs the equality check for common columns of the two tables COMP5138 "Relational Database Managment Systems" J. Davis

11 Aliases Some queries need to refer to the same relation twice In this case, aliases are given to the relation name Example: For each employee, retrieve the employee's name, and the name of his or her immediate supervisor. SELECT FROM WHERE E.FNAME, E.LNAME, S.FNAME,S.LNAME EMPLOYEE E S E.SUPERSSN = S.SSN We can think of E and S as two different copies of EMPLOYEE; E represents employees in role of supervisees and S represents employees in role of supervisors COMP5138 "Relational Database Managment Systems" J. Davis Today s Agenda Overview Basic Queries Join Queries Aggregate Functions and Set Operations COMP5138 "Relational Database Managment Systems" J. Davis

12 More on Joins Join a relational operation that causes two or more tables with a common domain to be combined into a single table or view Equi-join a join in which the joining condition is based on equality between values in the common columns; common columns appear redundantly in the result table Natural join an equi-join in which one of the duplicate columns is eliminated in the result table Outer join a join in which rows that do not have matching values in common columns are nonetheless included in the result table (as opposed to inner join, in which rows must have matching values in order to appear in the result table) Union join includes all columns from each table in the join, and an instance for each row of each table The common columns in joined tables are usually the primary key of the dominant table and the foreign key of the dependent table in 1:M relationships COMP5138 "Relational Database Managment Systems" J. Davis Join Operators offers join operators to directly formulate the natural join, equi-join, and the theta join RA operations. R natural join S R inner join S on <join condition> R inner join S using (<list of attributes>) These additional operations are typically used as subquery expressions in the from clause List all students and in which courses they enrolled. select name, uos_code, semester from students natural join enrolled Who is teaching COMP5138? select name from courses inner join lecturers on lecturer=empid where uos_code= COMP5138 COMP5138 "Relational Database Managment Systems" J. Davis

13 More Join Operators Available join types: inner join left outer join right outer join full outer join Join Conditions: natural on <join condition> using <attribute list> e.g: students inner join enrolled using (sid) inner join result sid name birthdate country sid2 number grade 112 A India 112 SOFT1 P 200 B China 200 COMP2 C e.g : students left outer join enrolled using (sid) left outer join result sid name birthdate country sid2 number grade A B C India China Australia COMP5138 "Relational Database Managment Systems" J. Davis null SOFT1 COMP2 null P C null Example Queries I List all courses by title select title from courses List all courses. select * from courses List in alphabetic order the details of all courses select * from courses order by title COMP5138 "Relational Database Managment Systems" J. Davis

14 Example Queries II Find the students with marks between 0 and 10. select sid from assessment where mark between 0 and 10 Who is teaching COMP5138? select name from courses, lecturers where number= COMP5138 and lecturer=empid ist students who got a (high) distinction in COMP5138. Tip: use in (not between) comparison operator for sets select sid from enrolled where number = COMP5138 and grade in ( D, H ) COMP5138 "Relational Database Managment Systems" J. Davis Today s Agenda Overview Basic Queries Aggregate Functions and Set Operations Join Queries Grouping Nested Queries COMP5138 "Relational Database Managment Systems" J. Davis

15 Aggregate Functions These functions operate on the multiset of values of a column of a relation, and return a value avg: average value min: minimum value max: maximum value sum: sum of values count: number of values Note: with aggregate functions you can t have single-valued columns included in the select clause COMP5138 "Relational Database Managment Systems" J. Davis Examples for Aggregate Functions How many students enrolled? select count(*) from Enrolled select count(distinct sid) from Enrolled Which was the best mark for SOFT2007? select max(mark) from assessment where uos_code = SOFT2007 What was the average mark for SOFT2007? select avg(mark) from assessment where uos_code= SOFT2007 COMP5138 "Relational Database Managment Systems" J. Davis

16 Set Operations The set operations union, intersect, and except (Oracle: minus) operate on relations and correspond to the relational algebra operations,,. Each of the above operations automatically eliminates duplicates; to retain all duplicates use the corresponding multiset versions union all, intersect all and except all. Suppose a tuple occurs m times in r and n times in s, then, it occurs: m + n times in r union all s min(m,n) times in r intersect all s max(0, m n) times in r except all s (not supported by Oracle) (not supported by Oracle) COMP5138 "Relational Database Managment Systems" J. Davis Set Operations Find all customers who have a loan, an account, or both: (select customer_name from depositor) union (select customer_name from borrower) Find all customers who have both a loan and an account (select customer_name from depositor) intersect (select customer_name from borrower) Find all customers who have an account but no loan (select customer_name from depositor) except (select customer_name from borrower) COMP5138 "Relational Database Managment Systems" J. Davis

17 Examples for Set Operations List all names in the database. select name from students union select name from lecturers Which students did not enroll in any course? select sid from students minus select sid from enrolled Find students who enrolled for COMP5138 and COMP5318. select sid from enrolled where number= COMP5138 intersect select sid from enrolled where number= COMP5318 COMP5138 "Relational Database Managment Systems" J. Davis NULL Values It is possible for tuples to have a null value, denoted by null, for some of their attributes Integral part of to handle missing / unknown information null signifies that a value does not exist, it does not mean 0 or blank! The predicate is null can be used to check for null values e.g. Find students which enrolled in a course without a grade so far. SELECT sid FROM enrolled WHERE grade IS NULL Consequence: Three-valued logic The result of any arithmetic expression involving null is null e.g. 5 + null returns null However, (most) aggregate functions simply ignore nulls COMP5138 "Relational Database Managment Systems" J. Davis

18 NULL Values and Three Valued Logic Any comparison with null returns unknown e.g. 5 < null or null <> null or null = null Three-valued logic using the truth value unknown: OR: (unknown or true) = true, (unknown or false) = unknown (unknown or unknown) = unknown AND: (true and unknown) = unknown, (false and unknown) = false, (unknown and unknown) = unknown NOT: (not unknown) = unknown Result of where clause predicate is treated as false if it evaluates to unknown e.g: select sid from enrolled where grade = unknown ignores all students without a grade so far COMP5138 "Relational Database Managment Systems" J. Davis NULL Values and Aggregation Aggregate functions except count(*) ignore null values on the aggregated attributes result is null if there is no non-null amount Examples: Average mark of all assignments SELECT AVG (mark) FROM assessment Number of all assignments SELECT COUNT (*) FROM assessment -- ignores nulls -- counts all tuples COMP5138 "Relational Database Managment Systems" J. Davis

19 Summary Relational Algebra Six basic operators Some additional rules / operators Overview DDL and DML Basic Query SELECT FROM WHERE ORDER BY Aggregate Functions and Set Operations Count, Sum, Min, Max, Avg, Union, Intersect, and Except COMP5138 "Relational Database Managment Systems" J. Davis Next Week Advanced Nested Subqueries / Grouping Integrity Constraints Static Integrity Constraints Domain Constraints Referential Integrity Assertions Dynamic Integrity Constraints Triggers Security and Authorization Textbook Sections 3.2 and 3.3 Sections 5.7 to 5.9 Sections 21.1 to 21.3 COMP5138 "Relational Database Managment Systems" J. Davis

20 Benefits of a Standardized DB Language Reduced training costs Productivity Application portability Application longevity Reduced dependency on a single vendor Cross-system communication COMP5138 "Relational Database Managment Systems" J. Davis Exercise Example 2 S1 sid sname rating age R1 sid bid day /10/ /12/96 22 dustin lubber rusty B1 bid bname color 101 Interlake blue 102 Interlake red 103 Clipper green 104 Marine red COMP5138 "Relational Database Managment Systems" J. Davis

21 Example Query 1 Find sid s of sailors who ve reserved a red or a green boat SELECT FROM WHERE SELECT FROM WHERE UNION SELECT FROM WHERE S.sid Sailors S, Boats B, Reserves R S.sid=R.sid AND R.bid=B.bid AND (B.color= red OR B.color= green ) S.sid Sailors S, Boats B, Reserves R S.sid=R.sid AND R.bid=B.bid AND B.color= red S.sid Sailors S, Boats B, Reserves R S.sid=R.sid AND R.bid=B.bid AND B.color= green COMP5138 "Relational Database Managment Systems" J. Davis Example Query 2 Find sid s of sailors who ve reserved a red and a green boat SELECT S.sid FROM Sailors S, Boats B1, Reserves R1, Boats B2, Reserves R2 WHERE S.sid=R1.sid AND R1.bid=B1.bid AND S.sid=R2.sid AND R2.bid=B2.bid AND (B1.color= red AND B2.color= green ) SELECT S.sid FROM Sailors S, Boats B, Reserves R WHERE S.sid=R.sid AND R.bid=B.bid AND B.color= red INTERSECT SELECT S.sid FROM Sailors S, Boats B, Reserves R WHERE S.sid=R.sid AND R.bid=B.bid AND B.color= green COMP5138 "Relational Database Managment Systems" J. Davis

Chapter 5. SQL: Queries, Constraints, Triggers

Chapter 5. SQL: Queries, Constraints, Triggers Chapter 5 SQL: Queries, Constraints, Triggers 1 Overview: aspects of SQL DML: Data Management Language. Pose queries (Ch. 5) and insert, delete, modify rows (Ch. 3) DDL: Data Definition Language. Creation,

More information

Comp 5311 Database Management Systems. 3. Structured Query Language 1

Comp 5311 Database Management Systems. 3. Structured Query Language 1 Comp 5311 Database Management Systems 3. Structured Query Language 1 1 Aspects of SQL Most common Query Language used in all commercial systems Discussion is based on the SQL92 Standard. Commercial products

More information

Advance DBMS. Structured Query Language (SQL)

Advance DBMS. Structured Query Language (SQL) Structured Query Language (SQL) Introduction Commercial database systems use more user friendly language to specify the queries. SQL is the most influential commercially marketed product language. Other

More information

SQL: Queries, Programming, Triggers

SQL: Queries, Programming, Triggers SQL: Queries, Programming, Triggers CSC343 Introduction to Databases - A. Vaisman 1 R1 Example Instances We will use these instances of the Sailors and Reserves relations in our examples. If the key for

More information

SQL: Queries, Programming, Triggers

SQL: Queries, Programming, Triggers SQL: Queries, Programming, Triggers Chapter 5 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 R1 Example Instances We will use these instances of the Sailors and Reserves relations in

More information

Example Instances. SQL: Queries, Programming, Triggers. Conceptual Evaluation Strategy. Basic SQL Query. A Note on Range Variables

Example Instances. SQL: Queries, Programming, Triggers. Conceptual Evaluation Strategy. Basic SQL Query. A Note on Range Variables SQL: Queries, Programming, Triggers Chapter 5 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Example Instances We will use these instances of the Sailors and Reserves relations in our

More information

Boats bid bname color 101 Interlake blue 102 Interlake red 103 Clipper green 104 Marine red. Figure 1: Instances of Sailors, Boats and Reserves

Boats bid bname color 101 Interlake blue 102 Interlake red 103 Clipper green 104 Marine red. Figure 1: Instances of Sailors, Boats and Reserves Tutorial 5: SQL By Chaofa Gao Tables used in this note: Sailors(sid: integer, sname: string, rating: integer, age: real); Boats(bid: integer, bname: string, color: string); Reserves(sid: integer, bid:

More information

Relational Algebra and SQL

Relational Algebra and SQL Relational Algebra and SQL Johannes Gehrke johannes@cs.cornell.edu http://www.cs.cornell.edu/johannes Slides from Database Management Systems, 3 rd Edition, Ramakrishnan and Gehrke. Database Management

More information

Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification

Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5 Outline More Complex SQL Retrieval Queries

More information

Oracle SQL. Course Summary. Duration. Objectives

Oracle SQL. Course Summary. Duration. Objectives Oracle SQL Course Summary Identify the major structural components of the Oracle Database 11g Create reports of aggregated data Write SELECT statements that include queries Retrieve row and column data

More information

Oracle Database: SQL and PL/SQL Fundamentals

Oracle Database: SQL and PL/SQL Fundamentals Oracle University Contact Us: 1.800.529.0165 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This course is designed to deliver the fundamentals of SQL and PL/SQL along

More information

UNIT 6. Structured Query Language (SQL) Text: Chapter 5

UNIT 6. Structured Query Language (SQL) Text: Chapter 5 UNIT 6 Structured Query Language (SQL) Text: Chapter 5 Learning Goals Given a database (a set of tables ) you will be able to express a query in SQL, involving set operators, subqueries and aggregations

More information

More on SQL. Juliana Freire. Some slides adapted from J. Ullman, L. Delcambre, R. Ramakrishnan, G. Lindstrom and Silberschatz, Korth and Sudarshan

More on SQL. Juliana Freire. Some slides adapted from J. Ullman, L. Delcambre, R. Ramakrishnan, G. Lindstrom and Silberschatz, Korth and Sudarshan More on SQL Some slides adapted from J. Ullman, L. Delcambre, R. Ramakrishnan, G. Lindstrom and Silberschatz, Korth and Sudarshan SELECT A1, A2,, Am FROM R1, R2,, Rn WHERE C1, C2,, Ck Interpreting a Query

More information

SUBQUERIES AND VIEWS. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 6

SUBQUERIES AND VIEWS. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 6 SUBQUERIES AND VIEWS CS121: Introduction to Relational Database Systems Fall 2015 Lecture 6 String Comparisons and GROUP BY 2! Last time, introduced many advanced features of SQL, including GROUP BY! Recall:

More information

Instant SQL Programming

Instant SQL Programming Instant SQL Programming Joe Celko Wrox Press Ltd. INSTANT Table of Contents Introduction 1 What Can SQL Do for Me? 2 Who Should Use This Book? 2 How To Use This Book 3 What You Should Know 3 Conventions

More information

Oracle Database: SQL and PL/SQL Fundamentals NEW

Oracle Database: SQL and PL/SQL Fundamentals NEW Oracle University Contact Us: + 38516306373 Oracle Database: SQL and PL/SQL Fundamentals NEW Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training delivers the

More information

History of SQL. Relational Database Languages. Tuple relational calculus ALPHA (Codd, 1970s) QUEL (based on ALPHA) Datalog (rule-based, like PROLOG)

History of SQL. Relational Database Languages. Tuple relational calculus ALPHA (Codd, 1970s) QUEL (based on ALPHA) Datalog (rule-based, like PROLOG) Relational Database Languages Tuple relational calculus ALPHA (Codd, 1970s) QUEL (based on ALPHA) Datalog (rule-based, like PROLOG) Domain relational calculus QBE (used in Access) History of SQL Standards:

More information

Duration Vendor Audience 5 Days Oracle End Users, Developers, Technical Consultants and Support Staff

Duration Vendor Audience 5 Days Oracle End Users, Developers, Technical Consultants and Support Staff D80198GC10 Oracle Database 12c SQL and Fundamentals Summary Duration Vendor Audience 5 Days Oracle End Users, Developers, Technical Consultants and Support Staff Level Professional Delivery Method Instructor-led

More information

Oracle Database: SQL and PL/SQL Fundamentals

Oracle Database: SQL and PL/SQL Fundamentals Oracle University Contact Us: +966 12 739 894 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training is designed to

More information

Introduction to Microsoft Jet SQL

Introduction to Microsoft Jet SQL Introduction to Microsoft Jet SQL Microsoft Jet SQL is a relational database language based on the SQL 1989 standard of the American Standards Institute (ANSI). Microsoft Jet SQL contains two kinds of

More information

Oracle Database 12c: Introduction to SQL Ed 1.1

Oracle Database 12c: Introduction to SQL Ed 1.1 Oracle University Contact Us: 1.800.529.0165 Oracle Database 12c: Introduction to SQL Ed 1.1 Duration: 5 Days What you will learn This Oracle Database: Introduction to SQL training helps you write subqueries,

More information

Oracle Database 10g: Introduction to SQL

Oracle Database 10g: Introduction to SQL Oracle University Contact Us: 1.800.529.0165 Oracle Database 10g: Introduction to SQL Duration: 5 Days What you will learn This course offers students an introduction to Oracle Database 10g database technology.

More information

A Comparison of Database Query Languages: SQL, SPARQL, CQL, DMX

A Comparison of Database Query Languages: SQL, SPARQL, CQL, DMX ISSN: 2393-8528 Contents lists available at www.ijicse.in International Journal of Innovative Computer Science & Engineering Volume 3 Issue 2; March-April-2016; Page No. 09-13 A Comparison of Database

More information

Introduction to SQL (3.1-3.4)

Introduction to SQL (3.1-3.4) CSL 451 Introduction to Database Systems Introduction to SQL (3.1-3.4) Department of Computer Science and Engineering Indian Institute of Technology Ropar Narayanan (CK) Chatapuram Krishnan! Summary Parts

More information

Chapter 8. SQL-99: SchemaDefinition, Constraints, and Queries and Views

Chapter 8. SQL-99: SchemaDefinition, Constraints, and Queries and Views Chapter 8 SQL-99: SchemaDefinition, Constraints, and Queries and Views Data Definition, Constraints, and Schema Changes Used to CREATE, DROP, and ALTER the descriptions of the tables (relations) of a database

More information

IT2305 Database Systems I (Compulsory)

IT2305 Database Systems I (Compulsory) Database Systems I (Compulsory) INTRODUCTION This is one of the 4 modules designed for Semester 2 of Bachelor of Information Technology Degree program. CREDITS: 04 LEARNING OUTCOMES On completion of this

More information

Introduction to SQL: Data Retrieving

Introduction to SQL: Data Retrieving Introduction to SQL: Data Retrieving Ruslan Fomkin Databasdesign för Ingenjörer 1056F Structured Query Language (SQL) History: SEQUEL (Structured English QUery Language), earlier 70 s, IBM Research SQL

More information

Relational Database: Additional Operations on Relations; SQL

Relational Database: Additional Operations on Relations; SQL Relational Database: Additional Operations on Relations; SQL Greg Plaxton Theory in Programming Practice, Fall 2005 Department of Computer Science University of Texas at Austin Overview The course packet

More information

Chapter 4: SQL. Schema Used in Examples

Chapter 4: SQL. Schema Used in Examples Chapter 4: SQL Basic Structure Set Operations Aggregate Functions Null Values Nested Subqueries Derived Relations Views Modification of the Database Joined Relations Data Definition Language Embedded SQL,

More information

IT2304: Database Systems 1 (DBS 1)

IT2304: Database Systems 1 (DBS 1) : Database Systems 1 (DBS 1) (Compulsory) 1. OUTLINE OF SYLLABUS Topic Minimum number of hours Introduction to DBMS 07 Relational Data Model 03 Data manipulation using Relational Algebra 06 Data manipulation

More information

Structured Query Language (SQL)

Structured Query Language (SQL) Objectives of SQL Structured Query Language (SQL) o Ideally, database language should allow user to: create the database and relation structures; perform insertion, modification, deletion of data from

More information

Relational Algebra. Module 3, Lecture 1. Database Management Systems, R. Ramakrishnan 1

Relational Algebra. Module 3, Lecture 1. Database Management Systems, R. Ramakrishnan 1 Relational Algebra Module 3, Lecture 1 Database Management Systems, R. Ramakrishnan 1 Relational Query Languages Query languages: Allow manipulation and retrieval of data from a database. Relational model

More information

Information Systems SQL. Nikolaj Popov

Information Systems SQL. Nikolaj Popov Information Systems SQL Nikolaj Popov Research Institute for Symbolic Computation Johannes Kepler University of Linz, Austria popov@risc.uni-linz.ac.at Outline SQL Table Creation Populating and Modifying

More information

Programming with SQL

Programming with SQL Unit 43: Programming with SQL Learning Outcomes A candidate following a programme of learning leading to this unit will be able to: Create queries to retrieve information from relational databases using

More information

Oracle Database 11g SQL

Oracle Database 11g SQL AO3 - Version: 2 19 June 2016 Oracle Database 11g SQL Oracle Database 11g SQL AO3 - Version: 2 3 days Course Description: This course provides the essential SQL skills that allow developers to write queries

More information

Oracle 10g PL/SQL Training

Oracle 10g PL/SQL Training Oracle 10g PL/SQL Training Course Number: ORCL PS01 Length: 3 Day(s) Certification Exam This course will help you prepare for the following exams: 1Z0 042 1Z0 043 Course Overview PL/SQL is Oracle's Procedural

More information

T-SQL STANDARD ELEMENTS

T-SQL STANDARD ELEMENTS T-SQL STANDARD ELEMENTS SLIDE Overview Types of commands and statement elements Basic SELECT statements Categories of T-SQL statements Data Manipulation Language (DML*) Statements for querying and modifying

More information

Database Query 1: SQL Basics

Database Query 1: SQL Basics Database Query 1: SQL Basics CIS 3730 Designing and Managing Data J.G. Zheng Fall 2010 1 Overview Using Structured Query Language (SQL) to get the data you want from relational databases Learning basic

More information

SQL Simple Queries. Chapter 3.1 V3.0. Copyright @ Napier University Dr Gordon Russell

SQL Simple Queries. Chapter 3.1 V3.0. Copyright @ Napier University Dr Gordon Russell SQL Simple Queries Chapter 3.1 V3.0 Copyright @ Napier University Dr Gordon Russell Introduction SQL is the Structured Query Language It is used to interact with the DBMS SQL can Create Schemas in the

More information

4. SQL. Contents. Example Database. CUSTOMERS(FName, LName, CAddress, Account) PRODUCTS(Prodname, Category) SUPPLIERS(SName, SAddress, Chain)

4. SQL. Contents. Example Database. CUSTOMERS(FName, LName, CAddress, Account) PRODUCTS(Prodname, Category) SUPPLIERS(SName, SAddress, Chain) ECS-165A WQ 11 66 4. SQL Contents Basic Queries in SQL (select statement) Set Operations on Relations Nested Queries Null Values Aggregate Functions and Grouping Data Definition Language Constructs Insert,

More information

Part A: Data Definition Language (DDL) Schema and Catalog CREAT TABLE. Referential Triggered Actions. CSC 742 Database Management Systems

Part A: Data Definition Language (DDL) Schema and Catalog CREAT TABLE. Referential Triggered Actions. CSC 742 Database Management Systems CSC 74 Database Management Systems Topic #0: SQL Part A: Data Definition Language (DDL) Spring 00 CSC 74: DBMS by Dr. Peng Ning Spring 00 CSC 74: DBMS by Dr. Peng Ning Schema and Catalog Schema A collection

More information

The Relational Model. Why Study the Relational Model?

The Relational Model. Why Study the Relational Model? The Relational Model Chapter 3 Instructor: Vladimir Zadorozhny vladimir@sis.pitt.edu Information Science Program School of Information Sciences, University of Pittsburgh 1 Why Study the Relational Model?

More information

Query-by-Example (QBE)

Query-by-Example (QBE) Query-by-Example (QBE) Module 3, Lecture 6 Example is the school of mankind, and they will learn at no other. -- Edmund Burke (1729-1797) Database Management Systems, R. Ramakrishnan 1 QBE: Intro A GUI

More information

Microsoft Access 3: Understanding and Creating Queries

Microsoft Access 3: Understanding and Creating Queries Microsoft Access 3: Understanding and Creating Queries In Access Level 2, we learned how to perform basic data retrievals by using Search & Replace functions and Sort & Filter functions. For more complex

More information

SQL - QUICK GUIDE. Allows users to access data in relational database management systems.

SQL - QUICK GUIDE. Allows users to access data in relational database management systems. http://www.tutorialspoint.com/sql/sql-quick-guide.htm SQL - QUICK GUIDE Copyright tutorialspoint.com What is SQL? SQL is Structured Query Language, which is a computer language for storing, manipulating

More information

Lecture 6. SQL, Logical DB Design

Lecture 6. SQL, Logical DB Design Lecture 6 SQL, Logical DB Design Relational Query Languages A major strength of the relational model: supports simple, powerful querying of data. Queries can be written intuitively, and the DBMS is responsible

More information

Part 4: Database Language - SQL

Part 4: Database Language - SQL Part 4: Database Language - SQL Junping Sun Database Systems 4-1 Database Languages and Implementation Data Model Data Model = Data Schema + Database Operations + Constraints Database Languages such as

More information

Introduction to SQL and SQL in R. LISA Short Courses Xinran Hu

Introduction to SQL and SQL in R. LISA Short Courses Xinran Hu Introduction to SQL and SQL in R LISA Short Courses Xinran Hu 1 Laboratory for Interdisciplinary Statistical Analysis LISA helps VT researchers benefit from the use of Statistics Collaboration: Visit our

More information

Oracle Database: SQL and PL/SQL Fundamentals NEW

Oracle Database: SQL and PL/SQL Fundamentals NEW Oracle University Contact Us: 001-855-844-3881 & 001-800-514-06-97 Oracle Database: SQL and PL/SQL Fundamentals NEW Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals

More information

Relational Databases

Relational Databases Relational Databases Jan Chomicki University at Buffalo Jan Chomicki () Relational databases 1 / 18 Relational data model Domain domain: predefined set of atomic values: integers, strings,... every attribute

More information

MOC 20461C: Querying Microsoft SQL Server. Course Overview

MOC 20461C: Querying Microsoft SQL Server. Course Overview MOC 20461C: Querying Microsoft SQL Server Course Overview This course provides students with the knowledge and skills to query Microsoft SQL Server. Students will learn about T-SQL querying, SQL Server

More information

2874CD1EssentialSQL.qxd 6/25/01 3:06 PM Page 1 Essential SQL Copyright 2001 SYBEX, Inc., Alameda, CA www.sybex.com

2874CD1EssentialSQL.qxd 6/25/01 3:06 PM Page 1 Essential SQL Copyright 2001 SYBEX, Inc., Alameda, CA www.sybex.com Essential SQL 2 Essential SQL This bonus chapter is provided with Mastering Delphi 6. It is a basic introduction to SQL to accompany Chapter 14, Client/Server Programming. RDBMS packages are generally

More information

Oracle Database: Introduction to SQL

Oracle Database: Introduction to SQL Oracle University Contact Us: +381 11 2016811 Oracle Database: Introduction to SQL Duration: 5 Days What you will learn Understanding the basic concepts of relational databases ensure refined code by developers.

More information

Oracle Database: Introduction to SQL

Oracle Database: Introduction to SQL Oracle University Contact Us: 1.800.529.0165 Oracle Database: Introduction to SQL Duration: 5 Days What you will learn View a newer version of this course This Oracle Database: Introduction to SQL training

More information

Summary on Chapter 4 Basic SQL

Summary on Chapter 4 Basic SQL Summary on Chapter 4 Basic SQL SQL Features Basic SQL DDL o Includes the CREATE statements o Has a comprehensive set of SQL data types o Can specify key, referential integrity, and other constraints Basic

More information

DBMS / Business Intelligence, SQL Server

DBMS / Business Intelligence, SQL Server DBMS / Business Intelligence, SQL Server Orsys, with 30 years of experience, is providing high quality, independant State of the Art seminars and hands-on courses corresponding to the needs of IT professionals.

More information

- Eliminating redundant data - Ensuring data dependencies makes sense. ie:- data is stored logically

- Eliminating redundant data - Ensuring data dependencies makes sense. ie:- data is stored logically Normalization of databases Database normalization is a technique of organizing the data in the database. Normalization is a systematic approach of decomposing tables to eliminate data redundancy and undesirable

More information

Netezza SQL Class Outline

Netezza SQL Class Outline Netezza SQL Class Outline CoffingDW education has been customized for every customer for the past 20 years. Our classes can be taught either on site or remotely via the internet. Education Contact: John

More information

Introduction to SQL for Data Scientists

Introduction to SQL for Data Scientists Introduction to SQL for Data Scientists Ben O. Smith College of Business Administration University of Nebraska at Omaha Learning Objectives By the end of this document you will learn: 1. How to perform

More information

3. Relational Model and Relational Algebra

3. Relational Model and Relational Algebra ECS-165A WQ 11 36 3. Relational Model and Relational Algebra Contents Fundamental Concepts of the Relational Model Integrity Constraints Translation ER schema Relational Database Schema Relational Algebra

More information

3.GETTING STARTED WITH ORACLE8i

3.GETTING STARTED WITH ORACLE8i Oracle For Beginners Page : 1 3.GETTING STARTED WITH ORACLE8i Creating a table Datatypes Displaying table definition using DESCRIBE Inserting rows into a table Selecting rows from a table Editing SQL buffer

More information

In This Lecture. SQL Data Definition SQL SQL. Notes. Non-Procedural Programming. Database Systems Lecture 5 Natasha Alechina

In This Lecture. SQL Data Definition SQL SQL. Notes. Non-Procedural Programming. Database Systems Lecture 5 Natasha Alechina This Lecture Database Systems Lecture 5 Natasha Alechina The language, the relational model, and E/R diagrams CREATE TABLE Columns Primary Keys Foreign Keys For more information Connolly and Begg chapter

More information

www.gr8ambitionz.com

www.gr8ambitionz.com Data Base Management Systems (DBMS) Study Material (Objective Type questions with Answers) Shared by Akhil Arora Powered by www. your A to Z competitive exam guide Database Objective type questions Q.1

More information

Database Implementation: SQL Data Definition Language

Database Implementation: SQL Data Definition Language Database Systems Unit 5 Database Implementation: SQL Data Definition Language Learning Goals In this unit you will learn how to transfer a logical data model into a physical database, how to extend or

More information

The Relational Model. Ramakrishnan&Gehrke, Chapter 3 CS4320 1

The Relational Model. Ramakrishnan&Gehrke, Chapter 3 CS4320 1 The Relational Model Ramakrishnan&Gehrke, Chapter 3 CS4320 1 Why Study the Relational Model? Most widely used model. Vendors: IBM, Informix, Microsoft, Oracle, Sybase, etc. Legacy systems in older models

More information

Chapter 9 Joining Data from Multiple Tables. Oracle 10g: SQL

Chapter 9 Joining Data from Multiple Tables. Oracle 10g: SQL Chapter 9 Joining Data from Multiple Tables Oracle 10g: SQL Objectives Identify a Cartesian join Create an equality join using the WHERE clause Create an equality join using the JOIN keyword Create a non-equality

More information

Oracle Database: Introduction to SQL

Oracle Database: Introduction to SQL Oracle University Contact Us: 1.800.529.0165 Oracle Database: Introduction to SQL Duration: 5 Days What you will learn This Oracle Database: Introduction to SQL training teaches you how to write subqueries,

More information

BCA. Database Management System

BCA. Database Management System BCA IV Sem Database Management System Multiple choice questions 1. A Database Management System (DBMS) is A. Collection of interrelated data B. Collection of programs to access data C. Collection of data

More information

Introduction to SQL C H A P T E R3. Exercises

Introduction to SQL C H A P T E R3. Exercises C H A P T E R3 Introduction to SQL Exercises 3.1 Write the following queries in SQL, using the university schema. (We suggest you actually run these queries on a database, using the sample data that we

More information

ICAB4136B Use structured query language to create database structures and manipulate data

ICAB4136B Use structured query language to create database structures and manipulate data ICAB4136B Use structured query language to create database structures and manipulate data Release: 1 ICAB4136B Use structured query language to create database structures and manipulate data Modification

More information

Database Management System

Database Management System Database Management System Introduction Concept of Database Database: It is a collection of interrelated data files/tables. Table: It is collection of similar records. Record: It is collection of meaningful

More information

Chapter 6: Integrity Constraints

Chapter 6: Integrity Constraints Chapter 6: Integrity Constraints Domain Constraints Referential Integrity Assertions Triggers Functional Dependencies Database Systems Concepts 6.1 Silberschatz, Korth and Sudarshan c 1997 Domain Constraints

More information

Using Multiple Operations. Implementing Table Operations Using Structured Query Language (SQL)

Using Multiple Operations. Implementing Table Operations Using Structured Query Language (SQL) Copyright 2000-2001, University of Washington Using Multiple Operations Implementing Table Operations Using Structured Query Language (SQL) The implementation of table operations in relational database

More information

The Relational Model. Why Study the Relational Model? Relational Database: Definitions

The Relational Model. Why Study the Relational Model? Relational Database: Definitions The Relational Model Database Management Systems, R. Ramakrishnan and J. Gehrke 1 Why Study the Relational Model? Most widely used model. Vendors: IBM, Microsoft, Oracle, Sybase, etc. Legacy systems in

More information

SQL Programming. Student Workbook

SQL Programming. Student Workbook SQL Programming Student Workbook 2 SQL Programming SQL Programming Published by itcourseware, Inc., 7245 South Havana Street, Suite 100, Englewood, CO 80112 Contributing Authors: Denise Geller, Rob Roselius,

More information

A Brief Introduction to MySQL

A Brief Introduction to MySQL A Brief Introduction to MySQL by Derek Schuurman Introduction to Databases A database is a structured collection of logically related data. One common type of database is the relational database, a term

More information

Exercise 1: Relational Model

Exercise 1: Relational Model Exercise 1: Relational Model 1. Consider the relational database of next relational schema with 3 relations. What are the best possible primary keys in each relation? employ(person_name, street, city)

More information

RDBMS Using Oracle. Lecture Week 7 Introduction to Oracle 9i SQL Last Lecture. kamran.munir@gmail.com. Joining Tables

RDBMS Using Oracle. Lecture Week 7 Introduction to Oracle 9i SQL Last Lecture. kamran.munir@gmail.com. Joining Tables RDBMS Using Oracle Lecture Week 7 Introduction to Oracle 9i SQL Last Lecture Joining Tables Multiple Table Queries Simple Joins Complex Joins Cartesian Joins Outer Joins Multi table Joins Other Multiple

More information

Database Administration with MySQL

Database Administration with MySQL Database Administration with MySQL Suitable For: Database administrators and system administrators who need to manage MySQL based services. Prerequisites: Practical knowledge of SQL Some knowledge of relational

More information

The Relational Model. Why Study the Relational Model? Relational Database: Definitions. Chapter 3

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

More information

Chapter 1 Overview of the SQL Procedure

Chapter 1 Overview of the SQL Procedure Chapter 1 Overview of the SQL Procedure 1.1 Features of PROC SQL...1-3 1.2 Selecting Columns and Rows...1-6 1.3 Presenting and Summarizing Data...1-17 1.4 Joining Tables...1-27 1-2 Chapter 1 Overview of

More information

SQL DATA DEFINITION: KEY CONSTRAINTS. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 7

SQL DATA DEFINITION: KEY CONSTRAINTS. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 7 SQL DATA DEFINITION: KEY CONSTRAINTS CS121: Introduction to Relational Database Systems Fall 2015 Lecture 7 Data Definition 2 Covered most of SQL data manipulation operations Continue exploration of SQL

More information

Databases 2011 The Relational Model and SQL

Databases 2011 The Relational Model and SQL Databases 2011 Christian S. Jensen Computer Science, Aarhus University What is a Database? Main Entry: da ta base Pronunciation: \ˈdā-tə-ˌbās, ˈda- also ˈdä-\ Function: noun Date: circa 1962 : a usually

More information

Databases in Engineering / Lab-1 (MS-Access/SQL)

Databases in Engineering / Lab-1 (MS-Access/SQL) COVER PAGE Databases in Engineering / Lab-1 (MS-Access/SQL) ITU - Geomatics 2014 2015 Fall 1 Table of Contents COVER PAGE... 0 1. INTRODUCTION... 3 1.1 Fundamentals... 3 1.2 How To Create a Database File

More information

Financial Data Access with SQL, Excel & VBA

Financial Data Access with SQL, Excel & VBA Computational Finance and Risk Management Financial Data Access with SQL, Excel & VBA Guy Yollin Instructor, Applied Mathematics University of Washington Guy Yollin (Copyright 2012) Data Access with SQL,

More information

http://www.thedataanalysis.com/sql/sql-programming.html

http://www.thedataanalysis.com/sql/sql-programming.html http://www.thedataanalysis.com/sql/sql-programming.html SQL: UPDATE Statement The UPDATE statement allows you to update a single record or multiple records in a table. The syntax for the UPDATE statement

More information

David M. Kroenke and David J. Auer Database Processing: Fundamentals, Design and Implementation

David M. Kroenke and David J. Auer Database Processing: Fundamentals, Design and Implementation David M. Kroenke and David J. Auer Database Processing: Fundamentals, Design and Implementation Chapter Two: Introduction to Structured Query Language 2-1 Chapter Objectives To understand the use of extracted

More information

Week 4 & 5: SQL. SQL as a Query Language

Week 4 & 5: SQL. SQL as a Query Language Week 4 & 5: SQL The SQL Query Language Select Statements Joins, Aggregate and Nested Queries Insertions, Deletions and Updates Assertions, Views, Triggers and Access Control SQL 1 SQL as a Query Language

More information

Handling Missing Values in the SQL Procedure

Handling Missing Values in the SQL Procedure Handling Missing Values in the SQL Procedure Danbo Yi, Abt Associates Inc., Cambridge, MA Lei Zhang, Domain Solutions Corp., Cambridge, MA ABSTRACT PROC SQL as a powerful database management tool provides

More information

Access Queries (Office 2003)

Access Queries (Office 2003) Access Queries (Office 2003) Technical Support Services Office of Information Technology, West Virginia University OIT Help Desk 293-4444 x 1 oit.wvu.edu/support/training/classmat/db/ Instructor: Kathy

More information

Proposed solutions Project Assignment #1 (SQL)

Proposed solutions Project Assignment #1 (SQL) Proposed solutions Project Assignment #1 (SQL) (a) Database creation: create table sailor (sname CHAR(30), rating INTEGER) create table boat (bname CHAR (30), color CHAR (15), rating INTEGER) create table

More information

Θεµελίωση Βάσεων εδοµένων

Θεµελίωση Βάσεων εδοµένων Θεµελίωση Βάσεων εδοµένων Βασίλης Βασσάλος 1 What do we need to produce good software? Good programmers, software engineers, project managers, business experts, etc. (People) Good software development

More information

Discovering SQL. Wiley Publishing, Inc. A HANDS-ON GUIDE FOR BEGINNERS. Alex Kriegel WILEY

Discovering SQL. Wiley Publishing, Inc. A HANDS-ON GUIDE FOR BEGINNERS. Alex Kriegel WILEY Discovering SQL A HANDS-ON GUIDE FOR BEGINNERS Alex Kriegel WILEY Wiley Publishing, Inc. INTRODUCTION xxv CHAPTER 1: DROWNING IN DATA, DYING OF THIRST FOR KNOWLEDGE 1 Data Deluge and Informational Overload

More information

Introduction to database design

Introduction to database design Introduction to database design KBL chapter 5 (pages 127-187) Rasmus Pagh Some figures are borrowed from the ppt slides from the book used in the course, Database systems by Kiefer, Bernstein, Lewis Copyright

More information

Using SQL Queries to Insert, Update, Delete, and View Data: Joining Multiple Tables. Lesson C Objectives. Joining Multiple Tables

Using SQL Queries to Insert, Update, Delete, and View Data: Joining Multiple Tables. Lesson C Objectives. Joining Multiple Tables Using SQL Queries to Insert, Update, Delete, and View Data: Joining Multiple Tables Wednesay 9/24/2014 Abdou Illia MIS 4200 - Fall 2014 Lesson C Objectives After completing this lesson, you should be able

More information

Effective Use of SQL in SAS Programming

Effective Use of SQL in SAS Programming INTRODUCTION Effective Use of SQL in SAS Programming Yi Zhao Merck & Co. Inc., Upper Gwynedd, Pennsylvania Structured Query Language (SQL) is a data manipulation tool of which many SAS programmers are

More information

Introducción a las bases de datos SQL Libro de referencia

Introducción a las bases de datos SQL Libro de referencia Introducción a las bases de datos SQL 1 Libro de referencia Java How To Program 3ed Edition Deitel&Deitel Prentice Hall, 1999 2 Introduction Relational-Database Model Relational Database Overview: The

More information

SQL. Short introduction

SQL. Short introduction SQL Short introduction 1 Overview SQL, which stands for Structured Query Language, is used to communicate with a database. Through SQL one can create, manipulate, query and delete tables and contents.

More information

Relational Algebra. Query Languages Review. Operators. Select (σ), Project (π), Union ( ), Difference (-), Join: Natural (*) and Theta ( )

Relational Algebra. Query Languages Review. Operators. Select (σ), Project (π), Union ( ), Difference (-), Join: Natural (*) and Theta ( ) Query Languages Review Relational Algebra SQL Set operators Union Intersection Difference Cartesian product Relational Algebra Operators Relational operators Selection Projection Join Division Douglas

More information

Information and Computer Science Department ICS 324 Database Systems Lab#11 SQL-Basic Query

Information and Computer Science Department ICS 324 Database Systems Lab#11 SQL-Basic Query Information and Computer Science Department ICS 324 Database Systems Lab#11 SQL-Basic Query Objectives The objective of this lab is to learn the query language of SQL. Outcomes After completing this Lab,

More information