13
1 DB DBMS HSQL SQL Tanel Käär 21.10.2008

DB DBMS HSQL SQL - courses.cs.ut.ee · Db4objects, dBase, FileMaker, Firebird, H2, Hsqldb, IBM DB2, IBM IMS, IBM UniVerse, Informix, Ingres, Interbase, InterSystems Caché, ... Vertica,

Embed Size (px)

Citation preview

1

•DB•DBMS•HSQL•SQL

Tanel Käär21.10.2008

Keep in memory

Keep in filesystem

Keep in database◦ Builtin

◦ Standalone

Need a DBMS

4D, ADABAS, Alpha Five, Apache Derby, BerkeleyDB, CouchDB, CSQL, Datawasp, Db4objects, dBase, FileMaker, Firebird, H2, Hsqldb, IBM DB2, IBM IMS, IBM UniVerse, Informix, Ingres, Interbase, InterSystems Caché, MaxDB, Microsoft Access, Microsoft SQL Server, Model 204, MySQL, Nomad, Objectivity/DB, ObjectStore, OpenLink Virtuoso, OpenOffice.orgBase, Oracle Database, Paradox, Polyhedra DBMS, PostgreSQL, Progress 4GL, RDM Embedded, ScimoreDB, Sedna, SQLite, Superbase, Sybase, Teradata, Vertica, Visual FoxPro

Simple enough

Pure java

Embedded / standalone

Small engine 100-600kB

Subset of sql standards

Used in many projects (openoffice)

Download and unpack new app

ant startdb & ant dbmanager

SELECT *

FROM SOLDITEM

SELECT ID, NAME

FROM SOLDITEM

Exercise 1.

SELECT *

FROM STOCKITEM

WHERE ID = 1

SELECT ID, NAME, QUANTITY

FROM STOCKITEM

WHERE NAME LIKE '%krõpsud%'

AND QUANTITY > 1

Exercise 2.

SELECT COUNT(*)

FROM STOCKITEM

SELECT MAX(QUANTITY)

FROM STOCKITEM

SELECT STOCKITEM_ID, SUM(QUANTITY)

FROM SOLDITEM

GROUP BY STOCKITEM_ID

SELECT *

FROM STOCKITEM

ORDER BY PRICE

SELECT TOP 3 *

FROM STOCKITEM

ORDER BY QUANTITY DESC

SELECT NAME, QUANTITY*PRICE AS SUMFROM STOCKITEM

SELECT UPPER(SUBSTRING(NAME, 2)) AS NAME, FROM STOCKITEM

SELECT YEAR(SELLINGTIME) + '.' + MONTH(SELLINGTIME) + '.' + DAY(SELLINGTIME) TRUNC_DATE

FROM SALE

Exersises 3 & 4.

SELECT CLIENT.FIRST_NAME, SALE.ID, SOLDITEM.NAME

FROM CLIENT

JOIN SALE ON SALE.CLIENT_ID = CLIENT.ID

JOIN SOLDITEM ON SOLDITEM.SALE_ID = SALE.ID

SELECT *

FROM SOLDITEM

WHERE SALE_ID IN (SELECT ID FROM SALE WHERE CLIENT_ID = 1)

2. Home assignments