Presentation is loading. Please wait.

Presentation is loading. Please wait.

10/9/2001SIMS 257: Database Management -- Ray Larson Database Client Applications University of California, Berkeley School of Information Management and.

Similar presentations


Presentation on theme: "10/9/2001SIMS 257: Database Management -- Ray Larson Database Client Applications University of California, Berkeley School of Information Management and."— Presentation transcript:

1 10/9/2001SIMS 257: Database Management -- Ray Larson Database Client Applications University of California, Berkeley School of Information Management and Systems SIMS 257: Database Management

2 10/9/2001SIMS 257: Database Management -- Ray Larson Review SQL

3 10/9/2001SIMS 257: Database Management -- Ray Larson SQL Structured Query Language SEQUEL from IBM San Jose ANSI 1992 Standard is the version used by most DBMS today (SQL92) Basic language is standardized across relational DBMSs. Each system may have proprietary extensions to standard.

4 10/9/2001SIMS 257: Database Management -- Ray Larson SQL99 In 1999, SQL99 – also known as SQL3 – was adopted and contains the following eight parts: –The SQL/Framework (75 pages) –SQL/Foundation (1100 pages) –SQL/Call Level Interface (400 pages) –SQL/Persistent Stored Modules (PSM) (160 pages) –SQL/Host Language Bindings (250 pages) –SQL Transactions (??) –SQL Temporal objects (??) –SQL Objects (??) Designed to be compatible with SQL92

5 10/9/2001SIMS 257: Database Management -- Ray Larson SQL99 The SQL/Framework --SQL basic concepts and general requirements. SQL/Call Level Interface (CLI) -- An API for SQL. This is similar to ODBC. SQL/Foundation --The syntax and SQL operations that are the basis for the language.

6 10/9/2001SIMS 257: Database Management -- Ray Larson SQL99 SQL/Persistent Stored Modules (PSM) -- Defines the rules for developing SQL routines, modules, and functions such as those used by stored procedures and triggers. This is implemented in many major RDBMSs through proprietary, nonportable languages, but for the first time we have a standard for writing procedural code that is transportable across databases.

7 10/9/2001SIMS 257: Database Management -- Ray Larson SQL99 SQL/Host Language Bindings --Define ways to code embedded SQL in standard programming languages. This simplifies the approach used by CLIs and provides performance enhancements. SQL Transactions --Transactional support for RDBMSs. SQL Temporal objects --Deal with Time-based data. SQL Objects --The new Object-Relational features, which represent the largest and most important enhancements to this new standard.

8 10/9/2001SIMS 257: Database Management -- Ray Larson SQL Uses Database Definition and Querying –Can be used as an interactive query language –Can be imbedded in programs Relational Calculus combines Select, Project and Join operations in a single command. SELECT.

9 10/9/2001SIMS 257: Database Management -- Ray Larson SELECT Syntax: –SELECT [DISTINCT] attr1, attr2,…, attr3 FROM rel1 r1, rel2 r2,… rel3 r3 WHERE condition1 {AND | OR} condition2 ORDER BY attr1 [DESC], attr3 [DESC]

10 10/9/2001SIMS 257: Database Management -- Ray Larson SELECT Conditions = equal to a particular value >= greater than or equal to a particular value > greater than a particular value <= less than or equal to a particular value <> not equal to a particular value LIKE “*term*” (may be other wild cards in other systems) IN (“opt1”, “opt2”,…,”optn”) BETWEEN val1 AND val2 IS NULL

11 10/9/2001SIMS 257: Database Management -- Ray Larson Relational Algebra Selection using SELECT Syntax: –SELECT * WHERE condition1 {AND | OR} condition2

12 10/9/2001SIMS 257: Database Management -- Ray Larson Relational Algebra Projection using SELECT Syntax: –SELECT [DISTINCT] attr1, attr2,…, attr3 FROM rel1 r1, rel2 r2,… rel3 r3

13 10/9/2001SIMS 257: Database Management -- Ray Larson Relational Algebra Join using SELECT Syntax: –SELECT * FROM rel1 r1, rel2 r2 WHERE r1.linkattr = r2.linkattr

14 10/9/2001SIMS 257: Database Management -- Ray Larson Sorting SELECT BIOLIFE.[Common Name], BIOLIFE.[Length (cm)] FROM BIOLIFE ORDER BY BIOLIFE.[Length (cm)] DESC;

15 10/9/2001SIMS 257: Database Management -- Ray Larson Subqueries SELECT SITES.[Site Name], SITES.[Destination no] FROM SITES WHERE sites.[Destination no] IN (SELECT [Destination no] from DEST where [avg temp (f)] >= 78); Can be used as a form of JOIN.

16 10/9/2001SIMS 257: Database Management -- Ray Larson Aggregate Functions Count Avg SUM MAX MIN

17 10/9/2001SIMS 257: Database Management -- Ray Larson Using Aggregate functions SELECT attr1, Sum(attr2) AS name FROM tab1, tab2... GROUP BY attr1, attr3 HAVING condition;

18 10/9/2001SIMS 257: Database Management -- Ray Larson Using an Aggregate Function SELECT DIVECUST.Name, Sum([Price]*[qty]) AS Total FROM (DIVECUST INNER JOIN DIVEORDS ON DIVECUST.[Customer No] = DIVEORDS.[Customer No]) INNER JOIN DIVEITEM ON DIVEORDS.[Order No] = DIVEITEM.[Order No] GROUP BY DIVECUST.Name HAVING (((DIVECUST.Name) Like "*Jazdzewski"));

19 10/9/2001SIMS 257: Database Management -- Ray Larson GROUP BY SELECT DEST.[Destination Name], Count(*) AS Expr1 FROM DEST INNER JOIN DIVEORDS ON DEST.[Destination Name] = DIVEORDS.Destination GROUP BY DEST.[Destination Name] HAVING ((Count(*))>1); Provides a list of Destinations with the number of orders going to that destination

20 10/9/2001SIMS 257: Database Management -- Ray Larson Create Table CREATE TABLE table-name (attr1 attr- type PRIMARYKEY, attr2 attr- type,…,attrN attr-type); Adds a new table with the specified attributes (and types) to the database.

21 10/9/2001SIMS 257: Database Management -- Ray Larson Access Data Types Numeric (1, 2, 4, 8 bytes, fixed or float) Text (255 max) Memo (64000 max) Date/Time (8 bytes) Currency (8 bytes, 15 digits + 4 digits decimal) Autonumber (4 bytes) Yes/No (1 bit) OLE (limited only by disk space) Hyperlinks (up to 64000 chars)

22 10/9/2001SIMS 257: Database Management -- Ray Larson Access Numeric types Byte –Stores numbers from 0 to 255 (no fractions). 1 byte Integer – Stores numbers from –32,768 to 32,767 (no fractions) 2 bytes Long Integer(Default) –Stores numbers from –2,147,483,648 to 2,147,483,647 (no fractions). 4 bytes Single –Stores numbers from -3.402823E38 to –1.401298E–45 for negative values and from 1.401298E–45 to 3.402823E38 for positive values.4 bytes Double –Stores numbers from –1.79769313486231E308 to – 4.94065645841247E–324 for negative values and from 1.79769313486231E308 to 4.94065645841247E–324 for positive values.158 bytes Replication ID –Globally unique identifier (GUID)N/A16 bytes

23 10/9/2001SIMS 257: Database Management -- Ray Larson Oracle Data Types CHAR (size) -- max 2000 VARCHAR2(size) -- up to 4000 DATE DECIMAL, FLOAT, INTEGER, INTEGER(s), SMALLINT, NUMBER, NUMBER(size,d) –All numbers internally in same format… LONG, LONG RAW, LONG VARCHAR –up to 2 Gb -- only one per table BLOB, CLOB, NCLOB -- up to 4 Gb BFILE -- file pointer to binary OS file

24 10/9/2001SIMS 257: Database Management -- Ray Larson Creating a new table from existing tables Syntax: –SELECT [DISTINCT] attr1, attr2,…, attr3 INTO newtablename FROM rel1 r1, rel2 r2,… rel3 r3 WHERE condition1 {AND | OR} condition2 ORDER BY attr1 [DESC], attr3 [DESC]

25 10/9/2001SIMS 257: Database Management -- Ray Larson Alter Table ALTER TABLE table-name ADD COLUMN attr1 attr-type; … DROP COLUMN attr1; Adds a new column to an existing database table.

26 10/9/2001SIMS 257: Database Management -- Ray Larson INSERT INSERT INTO table-name (attr1, attr4, attr5,…, attrK) VALUES (“val1”, val4, val5,…, “valK”); Adds a new row(s) to a table. INSERT INTO table-name (attr1, attr4, attr5,…, attrK) VALUES SELECT...

27 10/9/2001SIMS 257: Database Management -- Ray Larson DELETE DELETE FROM table-name WHERE ; Removes rows from a table.

28 10/9/2001SIMS 257: Database Management -- Ray Larson UPDATE UPDATE tablename SET attr1=newval, attr2 = newval2 WHERE ; changes values in existing rows in a table (those that match the WHERE clause).

29 10/9/2001SIMS 257: Database Management -- Ray Larson DROP Table DROP TABLE tablename; Removes a table from the database.

30 10/9/2001SIMS 257: Database Management -- Ray Larson CREATE INDEX CREATE [ UNIQUE ] INDEX indexname ON tablename (attr1 [ASC|DESC][, attr2 [ASC|DESC],...]) [WITH { PRIMARY | DISALLOW NULL | IGNORE NULL }]

31 10/9/2001SIMS 257: Database Management -- Ray Larson Access SQL examples SQL is available for all of these in Access SQL is the PRIMARY way you will be interacting with ORACLE –Oracle accounts are now set up First need SIMS Unix login Login to irony.sims.berkeley.edu Enter sqlplus at the command prompt Start typing your SQL commands More on ORACLE next time NON-SIMS students will need to fill out a form to get SIMS Unix logins

32 10/9/2001SIMS 257: Database Management -- Ray Larson Today Database Client Applications –Access client building tools and techniques

33 10/9/2001SIMS 257: Database Management -- Ray Larson Database Applications Generally, end-users of database data probably do not want to learn SQL in order to access the information in the database Instead, they would prefer to use a familiar PC or Web interface that uses the graphical conventions and behaviors that they are familiar with Today we will look at PC –style client applications using systems like Access –Next time we will look at Web-based systems

34 10/9/2001SIMS 257: Database Management -- Ray Larson Query-by-Example QBE was developed in the 1970s as a simpler to use interface for IBM mainframe databases In QBE the user puts parts of what they want to get from the database into a form similar to what the output will look like The Query Design View in Access is an example of QBE

35 10/9/2001SIMS 257: Database Management -- Ray Larson Access Usability Hierarchy API VBA MACROS Functions/Expressions Objects – Tables, queries Forms, Reports From McFadden Chap. 10

36 10/9/2001SIMS 257: Database Management -- Ray Larson Examples Access OBJECT level –QBE querying Building Application interfaces –User wants “point and click” and forms to fill in, not a Query editing screen or wizard –How to build them Drag and drop as in Access Programming Languages 4 th Generation languages (more on these later)

37 10/9/2001SIMS 257: Database Management -- Ray Larson The MS JET Database Engine Database app Visual BasicAccessExcelWord Visual Basic for Applications (VBA) Host Languages for the Jet DBMS Data Access Objects (DAO) Includes DDL and DML Jet Database Engine (Jet DBMS) Jet Query Engine Internal ISAM Replication Engine Database Adapted from Roman, “Access Database Design and Programming”

38 10/9/2001SIMS 257: Database Management -- Ray Larson Using Access for Applications Forms Reports Macros VBA programming Application framework HTML Pages


Download ppt "10/9/2001SIMS 257: Database Management -- Ray Larson Database Client Applications University of California, Berkeley School of Information Management and."

Similar presentations


Ads by Google