74
Introduction to Oracle Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

Embed Size (px)

Citation preview

Page 1: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

1

Introduction to Oracle

Database Systems, 2008-2009Presented by Rubi Boim

(based on Jackie Assa’s Slides)

Page 2: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

2

Agenda

Bureaucracy…

Database architecture overview

Buzzwords

SSH Tunneling

Intro to Oracle

Comments on homework

Page 3: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

3

The Forum

Please join the forum at:https://forums.cs.tau.ac.il/

Page 4: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

4

Homework #1

Submission date is Dec 2. (No late arrivals will be accepted)

Work should be done in pairs Please, please, please, names and ID on the

submittals.

Page 5: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

5

Project

Hard work, but real. Work in groups of 4 Project goal: to tackle and resolve real-life DB

related development issues One Two stages. Please use JAVA (SWT). (Check with me for other

programming languages) Thinking out of the box will be rewarded

Page 6: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

6

Agenda

Bureaucracy…

Database architecture overview

Buzzwords

SSH Tunneling

Intro to Oracle

Comments on homework

Page 7: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

7

DB System from lecture #1

Data files

Database server(someone else’s

C program) Applications

connection

(ODBC, JDBC)

“Two tier database system”

Page 8: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

8

1,2,3 tiers

Page 9: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

9

A core infrastructure

Page 10: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

10

Abstractly (DB) system layers may include

Application

DB infrastructure

DB driver

DB engine

Storage

Transport

Page 11: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

11

Why?

DB programmer

App programmer

DBA

Gui designerTester

Page 12: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

12

Application layer

Why should it actually use database? Persistence layer Access data storage Interfacing between systems Large volumes Scalability Redundancy

Application

DB infrastructure

DB driver

DB engine

Storage

Transport

Page 13: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

13

Infrastructure layer

Goals: Database “hiding” Schema abstraction Encapsulation of db mechanisms

How: (In two words)

Application

DB infrastructure

DB driver

DB engine

Storage

Transport

Page 14: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

14

Application

DB infrastructure

DB driver

DB engine

Storage

Transport

DB driver / bridge

Used for: API for database connectivity Protocol converter Performance improvements Transaction management

Examples: In a minute…

Page 15: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

15

Transport

Mainly TCP but not only Secure Efficient Fast but not fast enough

Application

DB infrastructure

DB driver

DB engine

Storage

Transport

Page 16: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

16

DB engine

Total management of the DB environment including Security Scalability (clustering) Maintenance Fault tolerant (disaster management) Monitoring Services

Large DB engines include Microsoft SQL Server, Oracle, SyBase, MySQL, etc.

Application

DB infrastructure

DB driver

DB engine

Storage

Transport

Page 17: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

17

DB engine (2)

DB engine management includes: Databases/Tables/FieldsCreation/removal/modification/

optimization Connections/Users/RolesSecurity/monitoring/logging Jobs/Processes/ThreadsScheduling/balancing/managing

Application

DB infrastructure

DB driver

DB engine

Storage

Transport

Page 18: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

18

Storage

NAS/SAN, Raid and other stuff…(sorry… not in this course)

Application

DB infrastructure

DB driver

DB engine

Storage

Transport

Page 19: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

19

Agenda

Bureaucracy…

Database architecture overview

Buzzwords

SSH Tunneling

Intro to Oracle

Comments on homework

Page 20: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

20

Terms…

ODBC ADO OLE-DB MDAC/UDA JDBC ORM

Page 21: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

21

ODBC, OLEDB and ADO

Various standards have been developed for accessing database servers.

Some of the important standards are ODBC (Open Database Connectivity) is the early

standard for relational databases. OLE DB is Microsoft’s object-oriented interface for

relational and other databases. ADO (Active Data Objects) is Microsoft’s standard

providing easier access to OLE DB data for the non-object-oriented programmer.

Page 22: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

22

ODBC

Open Database Connectivity (ODBC) is a standard software API method for using database management systems (DBMS)

Maximum interoperability

Page 23: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

23

ODBC

Examples of common tasks: Selecting a data source and connecting to

it. Submitting an SQL statement for

execution. Retrieving results (if any). Processing errors. Committing or rolling back the transaction

enclosing the SQL statement. Disconnecting from the data source.

Page 24: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

24

MDAC… UDA

UDA (Universal Data Access) and/or MDAC (Microsoft Data Access Components) include (ADO), OLE DB, and (ODBC).

Page 25: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

25

JDBC

Java DB connectivity API Similar to ODBC Why do you need it:

Pure Java Simple API Well….Multi-platform

Page 26: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

26

JDBC

API includes: DriverManager, Connection, Statement, PreparedStatement,

CallableStatement, ResultSet, SQLException, DataSource

JDBC Type Driver: Type 1 - (JDBC-ODBC Bridge) drivers. Type 2 - native API for data access which provide Java

wrapper classes Type 3 - 100% Java, makes use of a middle-tier between the

calling program and the database.. Type 4 - They are also written in 100% Java and are the

most efficient among all driver types. Calls directly into the vendor-specific database protocol.

Page 27: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

27

JDBC Types

Type 1 Type 2 Type 3 Type 4

Page 28: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

28

ORM

Object-Relational mapping is a programming technique for converting data between incompatible type systems in relational databases and object-oriented programming languages.

For example: Hibernate, EJB3.0, JDO

Page 29: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

29

Agenda

Bureaucracy…

Database architecture overview

Buzzwords

SSH Tunneling

Intro to Oracle

Comments on homework

Page 30: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

30

Welcome to

Page 31: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

31

SSH

Application

DB infrastructure

DB bridge/driver

Transport (TCP)

DB engine ServerMachine

ClientMachine

Standard way Using Tunnel

Application

DB infrastructure

DB bridge/driver

DB engine ServerMachine

ClientMachine

Tunnel machine(SSH server)

proxy

ProxyMachineTCP

SSH

TCP

Page 32: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

32

SSH in TAU

Application

DB infrastructure

Db bridge/driver

DB engine

Tunnel machine(SSH server)

proxy

YOUR MACHINEdefine DB at localhost, port 1555

Nova.cs.tau.ac.il

orasrv port 1521

Putty connects to nova andforward local port 1555 to orasrv port 1521

Page 33: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

33

SSH in TAU

Page 34: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

34

Agenda

Bureaucracy…

Database architecture overview

Buzzwords

SSH Tunneling

Intro to Oracle

Comments on homework

Page 35: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

35

Products we will be using

Oracle database – (at home express edition) SQLDeveloper

Free to download on oracle.comMore tutorials on the course slides page

Page 36: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

36

Server settings..

Host: localhost/orasrv Port: 1521 SID: xe/csodb/other? Schema hr/user/system

Use the connection guide (link on the course slides page) for instruction on how to create a DB user:

TAU HR user / password: hr_readonly / hrro

Page 37: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

37

SQL*plus demo

Invoking (TAU):Sqlplus

http://www.cs.tau.ac.il/~boim/courses/databases2009/slides/moreinfo/03-connection-guide.htm

Page 38: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

38

Page 39: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

39

Page 40: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

40

Page 41: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

41

Page 42: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

42

Page 43: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

43

Page 44: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

44

Page 45: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

45

Page 46: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

46

Page 47: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

47

Page 48: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

48

Page 49: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

49

SQLDeveloper demo

Invoking (TAU):sqldeveloper

Page 50: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

50

Page 51: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

51

Page 52: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

52

Page 53: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

53

Page 54: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

54

Page 55: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

55

Page 56: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

56

Page 57: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

57

Page 58: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

58

Page 59: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

59

Page 60: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

60

Page 61: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

61

Page 62: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

62

Page 63: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

63

Page 64: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

64

Page 65: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

65

Page 66: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

66

Page 67: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

67

Page 68: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

68

Page 69: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

69

Page 70: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

70

Oracle Express Edition (XE)

Installation only at home…

Page 71: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

71

XE Database demo

Installation Create a user Run a script Query Other database objects Administration tasks

Similar tutorial can be found in

http://st-curriculum.oracle.com/tutorial/DBXETutorial/index.htm

Page 72: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

72

Agenda

Bureaucracy…

Database architecture overview

Buzzwords

SSH Tunneling

Intro to Oracle

Comments on homework

Page 73: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

73

Homework Notes

SQL functions and arithmetic conditions.

Usage of quotes (‘ and “)

LIKE, LOWER

Use the Syntax help in Query browser

MAX, MIN

IN

Page 74: Database Systems, 2008-2009 Presented by Rubi Boim (based on Jackie Assa’s Slides) 1

74

Thank you