The World's Most Popular TCL Extension. D. Richard Hipp 16 Annual Tcl/Tk Conference Portland, OR

Size: px
Start display at page:

Download "The World's Most Popular TCL Extension. D. Richard Hipp 16 Annual Tcl/Tk Conference Portland, OR 2009-09-30"

Transcription

1 The World's Most Popular TCL Extension D. Richard Hipp 16 Annual Tcl/Tk Conference Portland, OR th

2 The only SQL database engine specifically designed to work with TCL

3

4

5 SQLite is a TCL Extension

6

7 Client Client Client Client SQL Database Engine Database Files on Disk

8 Client Client Client Client SQL Database Engine Database Files on Disk

9

10 Client Client Client Client Database Files on Disk

11 Application Tcl/Tk Code High-level SQL statements Low-level disk reads & writes

12 Why SQL? Program at a higher level Programming by specification Heads-up programming Focus on your product, not on your underlying database Maintain situational awareness

13 Do not underestimate the importance of situational awareness!

14 SELECT value FROM array WHERE name='userid'; Easier to do with an array or dict: $array('userid')

15 How many lines of TCL are required to do this using just arrays and dicts? SELECT eqptid, enclosureid FROM eqpt WHERE typeid IN ( SELECT typeid FROM typespec WHERE attrid=( SELECT attrid FROM attribute WHERE name='detect_autoactuate' ) AND value=1 INTERSECT SELECT typeid FROM typespec WHERE attrid=( SELECT attrid FROM attribute WHERE name='algorithm' ) AND value IN ('sensor','wetbulb') )

16

17 SELECT h.url, h.title, f.url, (SELECT b.parent FROM moz_bookmarks b JOIN moz_bookmarks t ON t.id = b.parent AND t.parent WHERE b.type = 1 AND b.fk = h.id ORDER BY b.lastmodified DESC LIMIT 1) AS parent, (SELECT b.title FROM moz_bookmarks b JOIN moz_bookmarks t ON t.id = b.parent AND t.parent WHERE b.type = 1 AND b.fk = h.id ORDER BY b.lastmodified DESC LIMIT 1) AS bookmark, (SELECT GROUP_CONCAT(t.title, ',') FROM moz_bookmarks b JOIN moz_bookmarks t ON t.id = b.parent AND t.parent WHERE b.type = 1 AND b.fk = h.id) AS tags, h.visit_count, h.typed, h.frecency FROM moz_places_temp h LEFT OUTER JOIN moz_favicons f ON f.id = h.favicon_id WHERE h.frecency <> 0 UNION ALL SELECT h.url, h.title, f.url, (SELECT b.parent FROM moz_bookmarks b JOIN moz_bookmarks t ON t.id = b.parent AND t.parent WHERE b.type = 1 AND b.fk = h.id ORDER BY b.lastmodified DESC LIMIT 1) AS parent, (SELECT b.title FROM moz_bookmarks b JOIN moz_bookmarks t ON t.id = b.parent AND t.parent WHERE b.type = 1 AND b.fk = h.id ORDER BY b.lastmodified DESC LIMIT 1) AS bookmark, (SELECT GROUP_CONCAT(t.title, ',') FROM moz_bookmarks b JOIN moz_bookmarks t ON t.id = b.parent AND t.parent WHERE b.type = 1 AND b.fk = h.id) AS tags, h.visit_count, h.typed, h.frecency FROM moz_places h LEFT OUTER JOIN moz_favicons f ON f.id = h.favicon_id WHERE h.id NOT IN (SELECT id FROM moz_places_temp) AND h.frecency <> 0 ORDER BY 9 DESC!=?1!=?1 =?1!=?1!=?1 =?1

18 Other benefits SQL & SQLite: Persistent Transactional Cross-platform Widely known and understood Faster Fewer bugs SQL is good at doing the very few things that TCL does not already do well.

19 tcl/tk

20 Aside: How do you classify SQLite in TCL? A small language within a small language? A meta-small language?

21 % package require sqlite % sqlite3 db database.db % Ne w o b je c t fo r c o n tr o ll i n g the d a ta b a se Na m e of t h e d a t a ba se fi l e. A n ew on e i s cr ea t ed i f i t d oes n ot a l r ea d y exi st.

22 U se t h e eva l m et h od t o r u n SQL db eval { CREATE TABLE users( userid INTEGER, first_name VARCHAR(30), last_name VARCHAR(40) ); } user first_name last_name Sem i col on sepa r a t es m u l t i pl e SQL st a t em en t s. Fi n a l sem i col on i s opt i on a l.

23 db eval { CREATE TABLE users( userid INTEGER, first_name VARCHAR(30), last_name VARCHAR(40) ); } user first_name last_name

24 db eval { CREATE TABLE users( userid INTEGER, first_name VARCHAR(30), last_name VARCHAR(40) ); } user first_name last_name D a t a t ypes a r e i g n or ed, m ost l y

25 Traditional SQL Rigid typing Types declared on containers Exceptions if type rules are violated

26 Traditional SQL Rigid typing Types declared on containers Exceptions if type rules are violated No types - everything is a string Internal dual representation Very flexible

27 Traditional SQL Rigid typing Types declared on containers Exceptions if type rules are violated No types - everything is a string Internal dual representation Very flexible

28 Traditional SQL Rigid typing Types declared on containers Exceptions if type rules are violated Type associated with values Containers have a suggested type All types accepted by every container No types - everything is a string Internal dual representation Very flexible

29 Va l u es con ver t ed t o i n t eg er i f t h ey ca n be. Ot h er wi se st or ed a s t h ey a r e. Va l u es con ver t ed t o st r i n g s. Len g t h r est r i ct i on s a r e i g n or ed user first_name db eval { CREATE TABLE users( userid INTEGER, first_name VARCHAR(30), last_name VARCHAR(40) ); } last_name Ad d i t i on a l i n for m a t i on a t h t t p:// www. sql i t e. or g / d a t a t ype 3. h t m l

30 U se a n I NSERT st a t em en t t o a d d d a t a db eval { INSERT INTO users VALUES(1, 'D. Richard', 'Hipp') }

31 db eval { INSERT INTO users VALUES(1, 'D. Richard', 'Hipp') } user first_name 1 D. Richard last_name Hipp

32 U se a SELECT st a t em en t t o ext r a ct d a t a fr om t h e d a t a ba se db eval { SELECT user, first_name, last_name FROM users } 1 {D. Richard} Hipp

33 db eval { SELECT user, first_name, last_name FROM users } 1 {D. Richard} Hipp D a t a r et u r n ed i n a TCL l i st

34 db eval { INSERT INTO users VALUES(2, 'Ginger', 'Wyrick') } user first_name last_name 1 D. Richard Hipp 2 Ginger Wyrick

35 db eval { SELECT * FROM users } 1 {D. Richard} Hipp 2 Ginger Wyrick Ad d i t i on a l r ows of d a t a ju st m a ke t h e r et u r n ed l i st l on g er

36 sqlite3 db database.db db eval {SELECT * FROM user} { puts userid=$userid puts name=$first_name $last_name } userid=1 name=d. Richard Hipp userid=2 Col u m n name=ginger Wyrick Scr i pt r u n s on ce for ea ch r ow i n r esu l t set con t en t s st or e i n TCL va r i a bl es

37 sqlite3 db database.db db eval {SELECT * FROM user} { puts userid=$userid puts name=$first_name $last_name break } userid=1 br ea k a n d name=d. Richard Hipp con t i n u e wor k i n t h e u su a l wa y

38 db eval {SELECT * FROM user} break set userid 1 set first_name Va r i a bl es per si st a ft er D. Richard t h e l a st i t er a t i on of t h e l oop set last_name Hipp

39 db eval { ALTER TABLE user ADD COLUMN picture; } user first_name 1 D. Richard last_name picture Hipp Ne w Co l u m n Ad d e d

40 set in [open drh.jpg] fconfigure $in -translation binary set drhphoto [read $in] close $in db eval { UPDATE user SET picture=$drhphoto WHERE user=1 } Not e t h e u se of cu r l y- br a ces, n ot d ou bl e- qu ot es

41 set in [open drh.jpg] fconfigure $in -translation binary set drhphoto [read $in] close $in db eval { UPDATE user SET picture=$drhphoto WHERE user=1 } No u n n ecessa r y copyi n g or qu ot i n g of l a r g e object s. I m m u n e t o SQL i n ject i on a t t a cks

42 set in [open drh.jpg] fconfigure $in -translation binary set drhphoto [read $in] close $in db eval { UPDATE user SET picture=@drhphoto WHERE user=1 i n st ea d of $ t o for ce t h e u se of t h e Byt ear r a y r epr esen t a t i on

43 db transaction { db eval {...} # other TCL code... db eval {...} } St a r t a t r a n sa ct i on COM M I T on su ccess ROLLBACK on a n y er r or

44 D efi n e a n ew TCL fu n ct i on proc sqrtfunc {x} { return [expr {sqrt($x)}] } db function sqrt sqrtfunc db eval { SELECT sqrt(id) FROM user } Reg i st er t h e fu n ct i on wi t h SQLi t e U se t h e TCL fu n ct i on i n a n SQLi t e qu er y

45 proc sqlitecon::_edit {original_text} { # Code here to implement a GUI editor # for $original_text and return the result. } db function edit ::sqlite::_edit Cr ea t e a n ew SQL fu n ct i on n a m ed ed i t i m pl em en t ed by t h e TCL pr oc :: sql i t e :: _ed i t

46

47 Go H er e Get Th i s

48 % package require Tk % source sqlitecon.txt % sqlitecon::create.console {sqlite> } test.db db %

49

50

51

52 Are you still not convinced that SQLite is a TCL extension?

53 SQLite Written Mostly In TCL

54 TCL must be installed on the development system in order to build SQLite. TCL is required to test SQLite All SQLite documentation is generated by TCL scripts.

55 select-core { stack {line SELECT {or nil DISTINCT ALL} {loop result-column,}} {optx FROM join-source} {optx WHERE expr} {optx GROUP BY {loop ordering-term,} {optx HAVING expr}} } Se e h tt p : //w i k i. tc l. tk / fo r a d d i ti o n a l i n fo r m a ti o n

56 SQLite would not exist without TCL

57 SQLite is different

58 is zero administration

59 Database Administrators

60

61

62 is to as is to

63 SQLite does not compete with Oracle

64 SQLite does not compete with Oracle SQLite competes with fopen()

65 Portable File Format A database is a single ordinary disk file No special naming conventions or required file suffixes Cross-platform: big/little-endian and 32/64-bit Backwards compatible through Promise to keep it compatible moving forward Not tied to any particular programming language.

66

67 Zero-Administration & Portable File Format means makes a great Application File Format

68 <xml/> c,s,v home grown

69

70 SQLite as file format freebies No parsing and generating code to write Atomic updates Fast, built-in searching Access via third-party tools Simplified upgrade migration Cross-platform file format High-level query language

71 Small Footprint gcc -Os -DSQLITE_THREADSAFE=0 293 KiB gcc -O3 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_RTREE=1 845 KiB Sizes Include TCL language bindings Values current as of

72 Single Source Code File The amalgamation source code file: sqlite3.c or tclsqlite3.c About 68,000 lines of ANSI C code 3.9 MB Few dependencies: libc and libtcl Very simple to add to a larger C program Very simple to build as a tclsh loadable library

73

74 The generic folder in the TEA distribution of SQLite contains exactly one file: tclsqlite3.c

75 Building a tclsh loadable library bash> gcc -shared tclsqlite3.c -o tclsqlite3.so bash> tclsh % load./tclsqlite3.so % sqlite3 db :memory: % db eval {SELECT sqlite_version()} Note Add -DSQLITE_THREADSAFE=0 for non-threadsafe tclsh

76 Other Features Of SQLite Gigibyte size BLOBs and strings Tebibyte size databases 100% branch test coverage Nested transactions Full text search R-Trees ATTACH DATABASE Robust against power loss, malloc() failures, and I/O errors. Referential integrity

77 Many companies and organizations use SQLite...

78 Adobe Photoshop Lightroom

79 Adobe Reader

80 Mozilla Firefox

81 Symbian/Nokia

82 Google Android

83 iphone

84 ipod & itunes

85 istuff

86 Blackberry

87 Palm webos

88 Skype

89 Sony Playstation

90 ... and so forth

91 Open Source

92 Have you looked at SQLite lately... Faster CHECK constraints SAVEPOINT and nested transactions Enhanced query planner 100% branch test coverage Recursive triggers FOREIGN KEY constraints Sources managed using Fossil

93 Closing Thoughts??? Shouldn't you be using SQLite instead of [open]? Why isn't tclsqlite3.c part of the TCL core? Can we get a TCL amalgamation?

94 tcl/tk

1.- L a m e j o r o p c ió n e s c l o na r e l d i s co ( s e e x p li c a r á d es p u é s ).

1.- L a m e j o r o p c ió n e s c l o na r e l d i s co ( s e e x p li c a r á d es p u é s ). PROCEDIMIENTO DE RECUPERACION Y COPIAS DE SEGURIDAD DEL CORTAFUEGOS LINUX P ar a p od e r re c u p e ra r nu e s t r o c o rt a f u e go s an t e un d es a s t r e ( r ot u r a d e l di s c o o d e l a

More information

Put the human back in Human Resources.

Put the human back in Human Resources. Put the human back in Human Resources A Co m p l et e Hu m a n Ca p i t a l Ma n a g em en t So l u t i o n t h a t em p o w er s HR p r o f essi o n a l s t o m eet t h ei r co r p o r a t e o b j ect

More information

SCO TT G LEA SO N D EM O Z G EB R E-

SCO TT G LEA SO N D EM O Z G EB R E- SCO TT G LEA SO N D EM O Z G EB R E- EG Z IA B H ER e d it o r s N ) LICA TIO N S A N D M ETH O D S t DVD N CLUDED C o n t e n Ls Pr e fa c e x v G l o b a l N a v i g a t i o n Sa t e llit e S y s t e

More information

Database Management System Choices. Introduction To Database Systems CSE 373 Spring 2013

Database Management System Choices. Introduction To Database Systems CSE 373 Spring 2013 Database Management System Choices Introduction To Database Systems CSE 373 Spring 2013 Outline Introduction PostgreSQL MySQL Microsoft SQL Server Choosing A DBMS NoSQL Introduction There a lot of options

More information

Application Note: Cisco A S A - Ce r t if ica t e T o S S L V P N Con n e ct ion P r of il e Overview: T h i s a p p l i ca ti o n n o te e x p l a i n s h o w to co n f i g u r e th e A S A to a cco m

More information

Introduction to the Oracle DBMS

Introduction to the Oracle DBMS Introduction to the Oracle DBMS Kristian Torp Department of Computer Science Aalborg University www.cs.aau.dk/ torp torp@cs.aau.dk December 2, 2011 daisy.aau.dk Kristian Torp (Aalborg University) Introduction

More information

M Official Bologna S e m inar Joint d e gr e e s- A H allm ar k of t h e E u r op e an H igh e r E d u cat ion A r e a? R e s u l t s o f q u e s t i o n n a i r e s e n t t o B o l o g n a F o l l o w

More information

SQL Server. 2012 for developers. murach's TRAINING & REFERENCE. Bryan Syverson. Mike Murach & Associates, Inc. Joel Murach

SQL Server. 2012 for developers. murach's TRAINING & REFERENCE. Bryan Syverson. Mike Murach & Associates, Inc. Joel Murach TRAINING & REFERENCE murach's SQL Server 2012 for developers Bryan Syverson Joel Murach Mike Murach & Associates, Inc. 4340 N. Knoll Ave. Fresno, CA 93722 www.murach.com murachbooks@murach.com Expanded

More information

ATTACHMENT 6 SQL Server 2012 Programming Standards

ATTACHMENT 6 SQL Server 2012 Programming Standards ATTACHMENT 6 SQL Server 2012 Programming Standards SQL Server Object Design and Programming Object Design and Programming Idaho Department of Lands Document Change/Revision Log Date Version Author Description

More information

Intro to Embedded SQL Programming for ILE RPG Developers

Intro to Embedded SQL Programming for ILE RPG Developers Intro to Embedded SQL Programming for ILE RPG Developers Dan Cruikshank DB2 for i Center of Excellence 1 Agenda Reasons for using Embedded SQL Getting started with Embedded SQL Using Host Variables Using

More information

Object Relational Database Mapping. Alex Boughton Spring 2011

Object Relational Database Mapping. Alex Boughton Spring 2011 + Object Relational Database Mapping Alex Boughton Spring 2011 + Presentation Overview Overview of database management systems What is ORDM Comparison of ORDM with other DBMSs Motivation for ORDM Quick

More information

Database Migration from MySQL to RDM Server

Database Migration from MySQL to RDM Server MIGRATION GUIDE Database Migration from MySQL to RDM Server A Birdstep Technology, Inc. Raima Embedded Database Division Migration Guide Published: May, 2009 Author: Daigoro F. Toyama Senior Software Engineer

More information

FHE DEFINITIVE GUIDE. ^phihri^^lv JEFFREY GARBUS. Joe Celko. Alvin Chang. PLAMEN ratchev JONES & BARTLETT LEARN IN G. y ti rvrrtuttnrr i t i r

FHE DEFINITIVE GUIDE. ^phihri^^lv JEFFREY GARBUS. Joe Celko. Alvin Chang. PLAMEN ratchev JONES & BARTLETT LEARN IN G. y ti rvrrtuttnrr i t i r : 1. FHE DEFINITIVE GUIDE fir y ti rvrrtuttnrr i t i r ^phihri^^lv ;\}'\^X$:^u^'! :: ^ : ',!.4 '. JEFFREY GARBUS PLAMEN ratchev Alvin Chang Joe Celko g JONES & BARTLETT LEARN IN G Contents About the Authors

More information

Campus Sustainability Assessment and Related Literature

Campus Sustainability Assessment and Related Literature Campus Sustainability Assessment and Related Literature An Annotated Bibliography and Resource Guide Andrew Nixon February 2002 Campus Sustainability Assessment Review Project Telephone: (616) 387-5626

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

Oracle Database 10g Express

Oracle Database 10g Express Oracle Database 10g Express This tutorial prepares the Oracle Database 10g Express Edition Developer to perform common development and administrative tasks of Oracle Database 10g Express Edition. Objectives

More information

BLADE 12th Generation. Rafał Olszewski. Łukasz Matras

BLADE 12th Generation. Rafał Olszewski. Łukasz Matras BLADE 12th Generation Rafał Olszewski Łukasz Matras Jugowice, 15-11-2012 Gl o b a l M a r k e t i n g Dell PowerEdge M-Series Blade Server Portfolio M-Series Blades couple powerful computing capabilities

More information

MySQL Storage Engines

MySQL Storage Engines MySQL Storage Engines Data in MySQL is stored in files (or memory) using a variety of different techniques. Each of these techniques employs different storage mechanisms, indexing facilities, locking levels

More information

G d y n i a U s ł u g a r e j e s t r a c j i i p o m i a r u c z a s u u c z e s t n i k ó w i m p r e z s p o r t o w y c h G d y s k i e g o O r o d k a S p o r t u i R e k r e a c j i w r o k u 2 0

More information

INSTALLING, CONFIGURING, AND DEVELOPING WITH XAMPP

INSTALLING, CONFIGURING, AND DEVELOPING WITH XAMPP INSTALLING, CONFIGURING, AND DEVELOPING WITH XAMPP by Dalibor D. Dvorski, March 2007 Skills Canada Ontario DISCLAIMER: A lot of care has been taken in the accuracy of information provided in this article,

More information

Relational Databases. Christopher Simpkins chris.simpkins@gatech.edu

Relational Databases. Christopher Simpkins chris.simpkins@gatech.edu Relational Databases Christopher Simpkins chris.simpkins@gatech.edu Relational Databases A relational database is a collection of data stored in one or more tables A relational database management system

More information

SQL Server to Oracle A Database Migration Roadmap

SQL Server to Oracle A Database Migration Roadmap SQL Server to Oracle A Database Migration Roadmap Louis Shih Superior Court of California County of Sacramento Oracle OpenWorld 2010 San Francisco, California Agenda Introduction Institutional Background

More information

G ri d m on i tori n g w i th N A G I O S (*) (*) Work in collaboration with P. Lo Re, G. S av a and G. T ortone WP3-I CHEP 2000, N F N 10.02.2000 M e e t i n g, N a p l e s, 29.1 1.20 0 2 R o b e r 1

More information

database abstraction layer database abstraction layers in PHP Lukas Smith BackendMedia smith@backendmedia.com

database abstraction layer database abstraction layers in PHP Lukas Smith BackendMedia smith@backendmedia.com Lukas Smith database abstraction layers in PHP BackendMedia 1 Overview Introduction Motivation PDO extension PEAR::MDB2 Client API SQL syntax SQL concepts Result sets Error handling High level features

More information

How To Create A Table In Sql 2.5.2.2 (Ahem)

How To Create A Table In Sql 2.5.2.2 (Ahem) 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

Chem 115 POGIL Worksheet - Week 4 Moles & Stoichiometry Answers

Chem 115 POGIL Worksheet - Week 4 Moles & Stoichiometry Answers Key Questions & Exercises Chem 115 POGIL Worksheet - Week 4 Moles & Stoichiometry Answers 1. The atomic weight of carbon is 12.0107 u, so a mole of carbon has a mass of 12.0107 g. Why doesn t a mole of

More information

JCUT-3030/6090/1212/1218/1325/1530

JCUT-3030/6090/1212/1218/1325/1530 JCUT CNC ROUTER/CNC WOODWORKING MACHINE JCUT-3030/6090/1212/1218/1325/1530 RZNC-0501 Users Guide Chapter I Characteristic 1. Totally independent from PC platform; 2. Directly read files from U Disk; 3.

More information

Chapter 9: Object-Based Databases

Chapter 9: Object-Based Databases Chapter 9: Object-Based Databases Database System Concepts See www.db-book.com for conditions on re-use Database System Concepts Chapter 9: Object-Based Databases Complex Data Types and Object Orientation

More information

INFORMATION BROCHURE Certificate Course in Web Design Using PHP/MySQL

INFORMATION BROCHURE Certificate Course in Web Design Using PHP/MySQL INFORMATION BROCHURE OF Certificate Course in Web Design Using PHP/MySQL National Institute of Electronics & Information Technology (An Autonomous Scientific Society of Department of Information Technology,

More information

Firebird. A really free database used in free and commercial projects

Firebird. A really free database used in free and commercial projects Firebird A really free database used in free and commercial projects Holger Klemt CEO IBExpert KG, Germany hklemt@ibexpert.com This presentation: www.ibexpert.com/firebird.pdf What is Firebird? Firebird

More information

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application BACKBONE.JS Sencha Touch CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application A RapidValue Solutions Whitepaper Author: Pooja Prasad, Technical Lead, RapidValue Solutions Contents Executive

More information

Introduction to SQL and database objects

Introduction to SQL and database objects Introduction to SQL and database objects IBM Information Management Cloud Computing Center of Competence IBM Canada Labs 1 2011 IBM Corporation Agenda Overview Database objects SQL introduction The SELECT

More information

CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages. Nicki Dell Spring 2014

CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages. Nicki Dell Spring 2014 CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages Nicki Dell Spring 2014 What is a Programming Language? A set of symbols and associated tools that translate (if necessary) collections

More information

Relational Databases. Charles Severance

Relational Databases. Charles Severance Relational Databases Charles Severance Relational Databases Relational databases model data by storing rows and columns in tables. The power of the relational database lies in its ability to efficiently

More information

Specifications of Paradox for Windows

Specifications of Paradox for Windows Specifications of Paradox for Windows Appendix A 1 Specifications of Paradox for Windows A IN THIS CHAPTER Borland Database Engine (BDE) 000 Paradox Standard Table Specifications 000 Paradox 5 Table Specifications

More information

Introduction to Database. Systems HANS- PETTER HALVORSEN, 2014.03.03

Introduction to Database. Systems HANS- PETTER HALVORSEN, 2014.03.03 Telemark University College Department of Electrical Engineering, Information Technology and Cybernetics Introduction to Database HANS- PETTER HALVORSEN, 2014.03.03 Systems Faculty of Technology, Postboks

More information

The Sins of SQL Programming that send the DB to Upgrade Purgatory Abel Macias. 1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

The Sins of SQL Programming that send the DB to Upgrade Purgatory Abel Macias. 1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. The Sins of SQL Programming that send the DB to Upgrade Purgatory Abel Macias 1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. Who is Abel Macias? 1994 - Joined Oracle Support 2000

More information

ESPResSo Summer School 2012

ESPResSo Summer School 2012 ESPResSo Summer School 2012 Introduction to Tcl Pedro A. Sánchez Institute for Computational Physics Allmandring 3 D-70569 Stuttgart Germany http://www.icp.uni-stuttgart.de 2/26 Outline History, Characteristics,

More information

Fundamentals of Database Design

Fundamentals of Database Design Fundamentals of Database Design Zornitsa Zaharieva CERN Data Management Section - Controls Group Accelerators and Beams Department /AB-CO-DM/ 23-FEB-2005 Contents : Introduction to Databases : Main Database

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

The ConTract Model. Helmut Wächter, Andreas Reuter. November 9, 1999

The ConTract Model. Helmut Wächter, Andreas Reuter. November 9, 1999 The ConTract Model Helmut Wächter, Andreas Reuter November 9, 1999 Overview In Ahmed K. Elmagarmid: Database Transaction Models for Advanced Applications First in Andreas Reuter: ConTracts: A Means for

More information

USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE

USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE Gonzalo Garcia VP of Operations, USA Property of GMV All rights reserved INTRODUCTION Property of GMV All rights reserved INTRODUCTION

More information

CSE 530A Database Management Systems. Introduction. Washington University Fall 2013

CSE 530A Database Management Systems. Introduction. Washington University Fall 2013 CSE 530A Database Management Systems Introduction Washington University Fall 2013 Overview Time: Mon/Wed 7:00-8:30 PM Location: Crow 206 Instructor: Michael Plezbert TA: Gene Lee Websites: http://classes.engineering.wustl.edu/cse530/

More information

Jonathan Worthington Scarborough Linux User Group

Jonathan Worthington Scarborough Linux User Group Jonathan Worthington Scarborough Linux User Group Introduction What does a Virtual Machine do? Hides away the details of the hardware platform and operating system. Defines a common set of instructions.

More information

Using Apache Derby in the real world

Using Apache Derby in the real world Apache Derby a 100% Java Open Source RDBMS Using Apache Derby in the real world Victorian AJUG, Australia 28 th August 2008 Chris Dance Chris Dance Introduction Director and Found of PaperCut Software

More information

Migrating Non-Oracle Databases and their Applications to Oracle Database 12c O R A C L E W H I T E P A P E R D E C E M B E R 2 0 1 4

Migrating Non-Oracle Databases and their Applications to Oracle Database 12c O R A C L E W H I T E P A P E R D E C E M B E R 2 0 1 4 Migrating Non-Oracle Databases and their Applications to Oracle Database 12c O R A C L E W H I T E P A P E R D E C E M B E R 2 0 1 4 1. Introduction Oracle provides products that reduce the time, risk,

More information

An Introduction to PL/SQL. Mehdi Azarmi

An Introduction to PL/SQL. Mehdi Azarmi 1 An Introduction to PL/SQL Mehdi Azarmi 2 Introduction PL/SQL is Oracle's procedural language extension to SQL, the non-procedural relational database language. Combines power and flexibility of SQL (4GL)

More information

Pattern Insight Clone Detection

Pattern Insight Clone Detection Pattern Insight Clone Detection TM The fastest, most effective way to discover all similar code segments What is Clone Detection? Pattern Insight Clone Detection is a powerful pattern discovery technology

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

UNIK4250 Security in Distributed Systems University of Oslo Spring 2012. Part 7 Wireless Network Security

UNIK4250 Security in Distributed Systems University of Oslo Spring 2012. Part 7 Wireless Network Security UNIK4250 Security in Distributed Systems University of Oslo Spring 2012 Part 7 Wireless Network Security IEEE 802.11 IEEE 802 committee for LAN standards IEEE 802.11 formed in 1990 s charter to develop

More information

MOBILE. Mobile Overview

MOBILE. Mobile Overview Mobile Overview Take your brand mobile. From mobile web access and takeover skins to applications, features such as weather-triggered ads and more TheWeatherNetwork.com can offer you a wealth of opportunities

More information

Big Data Analytics in LinkedIn. Danielle Aring & William Merritt

Big Data Analytics in LinkedIn. Danielle Aring & William Merritt Big Data Analytics in LinkedIn by Danielle Aring & William Merritt 2 Brief History of LinkedIn - Launched in 2003 by Reid Hoffman (https://ourstory.linkedin.com/) - 2005: Introduced first business lines

More information

Gothenburg 2015. Mainframe and Continuous Integration. Jan Marek Jan.Marek@ca. com. CA Technologies. Session S610

Gothenburg 2015. Mainframe and Continuous Integration. Jan Marek Jan.Marek@ca. com. CA Technologies. Session S610 Jan Marek Jan.Marek@ca. com CA Technologies Session S610 Mainframe and Continuous Integration Agenda Introduce continuous integration concept What problem we were facing Overview of the solution Examples

More information

Services. Relational. Databases & JDBC. Today. Relational. Databases SQL JDBC. Next Time. Services. Relational. Databases & JDBC. Today.

Services. Relational. Databases & JDBC. Today. Relational. Databases SQL JDBC. Next Time. Services. Relational. Databases & JDBC. Today. & & 1 & 2 Lecture #7 2008 3 Terminology Structure & & Database server software referred to as Database Management Systems (DBMS) Database schemas describe database structure Data ordered in tables, rows

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

Webapps Vulnerability Report

Webapps Vulnerability Report Tuesday, May 1, 2012 Webapps Vulnerability Report Introduction This report provides detailed information of every vulnerability that was found and successfully exploited by CORE Impact Professional during

More information

OBJECTS AND DATABASES. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 21

OBJECTS AND DATABASES. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 21 OBJECTS AND DATABASES CS121: Introduction to Relational Database Systems Fall 2015 Lecture 21 Relational Model and 1NF 2 Relational model specifies that all attribute domains must be atomic A database

More information

Once the schema has been designed, it can be implemented in the RDBMS.

Once the schema has been designed, it can be implemented in the RDBMS. 2. Creating a database Designing the database schema... 1 Representing Classes, Attributes and Objects... 2 Data types... 5 Additional constraints... 6 Choosing the right fields... 7 Implementing a table

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

MySQL for Beginners Ed 3

MySQL for Beginners Ed 3 Oracle University Contact Us: 1.800.529.0165 MySQL for Beginners Ed 3 Duration: 4 Days What you will learn The MySQL for Beginners course helps you learn about the world's most popular open source database.

More information

Oracle Database 12c Enables Quad Graphics to Quickly Migrate from Sybase to Oracle Exadata

Oracle Database 12c Enables Quad Graphics to Quickly Migrate from Sybase to Oracle Exadata Oracle Database 12c Enables Quad Graphics to Quickly Migrate from Sybase to Oracle Exadata Presented with Prakash Nauduri Technical Director Platform Migrations Group, Database Product Management Sep 30,

More information

H ig h L e v e l O v e r v iew. S te p h a n M a rt in. S e n io r S y s te m A rc h i te ct

H ig h L e v e l O v e r v iew. S te p h a n M a rt in. S e n io r S y s te m A rc h i te ct H ig h L e v e l O v e r v iew S te p h a n M a rt in S e n io r S y s te m A rc h i te ct OPEN XCHANGE Architecture Overview A ge nda D es ig n G o als A rc h i te ct u re O ve rv i ew S c a l a b ili

More information

Creating PL/SQL Blocks. Copyright 2007, Oracle. All rights reserved.

Creating PL/SQL Blocks. Copyright 2007, Oracle. All rights reserved. What Will I Learn? In this lesson, you will learn to: Describe the structure of a PL/SQL block Identify the different types of PL/SQL blocks Identify PL/SQL programming environments Create and execute

More information

How to Design and Create Your Own Custom Ext Rep

How to Design and Create Your Own Custom Ext Rep Combinatorial Block Designs 2009-04-15 Outline Project Intro External Representation Design Database System Deployment System Overview Conclusions 1. Since the project is a specific application in Combinatorial

More information

C o a t i a n P u b l i c D e b tm a n a g e m e n t a n d C h a l l e n g e s o f M a k e t D e v e l o p m e n t Z a g e bo 8 t h A p i l 2 0 1 1 h t t pdd w w wp i j fp h D p u b l i c2 d e b td S t

More information

SQL: joins. Practices. Recap: the SQL Select Command. Recap: Tables for Plug-in Cars

SQL: joins. Practices. Recap: the SQL Select Command. Recap: Tables for Plug-in Cars Recap: the SQL Select Command SQL: joins SELECT [DISTINCT] sel_expression [, sel_expression ] FROM table_references [WHERE condition] [GROUPBY column [,column ] [[HAVING condition]] [ORDER BY columns [ASC

More information

SQL Server Database Coding Standards and Guidelines

SQL Server Database Coding Standards and Guidelines SQL Server Database Coding Standards and Guidelines http://www.sqlauthority.com Naming Tables: Stored Procs: Triggers: Indexes: Primary Keys: Foreign Keys: Defaults: Columns: General Rules: Rules: Pascal

More information

online magazine first edition 2009 berkeley club of france - online magazine - first edition 2009 berkeley club of france

online magazine first edition 2009 berkeley club of france - online magazine - first edition 2009 berkeley club of france berkeley club of france - online magazine - first edition 2009 online magazine first edition 2009 berkeley club of france in this issue... The BCF Online Magazine Published by the Berkeley Club of France

More information

OBJECT ORIENTED EXTENSIONS TO SQL

OBJECT ORIENTED EXTENSIONS TO SQL OBJECT ORIENTED EXTENSIONS TO SQL Thomas B. Gendreau Computer Science Department University Wisconsin La Crosse La Crosse, WI 54601 gendreau@cs.uwlax.edu Abstract Object oriented technology is influencing

More information

The Third Screen: What Email Marketers Need to Know About Mobile Rendering

The Third Screen: What Email Marketers Need to Know About Mobile Rendering BlueHornet Whitepaper The Third Screen: What Email Marketers Need to Know About Mobile Rendering Part One: Your Marketing Message on the Third Screen Executive Summary The rapid rise in adoption of so-called

More information

Overview of Databases On MacOS. Karl Kuehn Automation Engineer RethinkDB

Overview of Databases On MacOS. Karl Kuehn Automation Engineer RethinkDB Overview of Databases On MacOS Karl Kuehn Automation Engineer RethinkDB Session Goals Introduce Database concepts Show example players Not Goals: Cover non-macos systems (Oracle) Teach you SQL Answer what

More information

An Oracle White Paper June 2013. Migrating Applications and Databases with Oracle Database 12c

An Oracle White Paper June 2013. Migrating Applications and Databases with Oracle Database 12c An Oracle White Paper June 2013 Migrating Applications and Databases with Oracle Database 12c Disclaimer The following is intended to outline our general product direction. It is intended for information

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

SAP Cloud Identity Service Document Version: 1.0 2014-09-01. SAP Cloud Identity Service

SAP Cloud Identity Service Document Version: 1.0 2014-09-01. SAP Cloud Identity Service Document Version: 1.0 2014-09-01 Content 1....4 1.1 Release s....4 1.2 Product Overview....8 Product Details.... 9 Supported Browser Versions....10 Supported Languages....12 1.3 Getting Started....13 1.4

More information

AppBoard TM 2.6. System Requirements. Technical Documentation. Version 2.6.0. July 2015

AppBoard TM 2.6. System Requirements. Technical Documentation. Version 2.6.0. July 2015 Technical Documentation AppBoard TM 2.6 System Requirements Version 2.6.0 July 2015 Edge Technologies 1881 Campus Commons Drive Suite 101 Reston, VA 20191 T 703.691.7900 F 703.691.4020 1.888.771.EDGE www.edge-technologies.com

More information

Programming Database lectures for mathema

Programming Database lectures for mathema Programming Database lectures for mathematics students April 25, 2015 Functions Functions are defined in Postgres with CREATE FUNCTION name(parameter type,...) RETURNS result-type AS $$ function-body $$

More information

Geospatial Server Performance Colin Bertram UK User Group Meeting 23-Sep-2014

Geospatial Server Performance Colin Bertram UK User Group Meeting 23-Sep-2014 Geospatial Server Performance Colin Bertram UK User Group Meeting 23-Sep-2014 Topics Auditing a Geospatial Server Solution Web Server Strategies and Configuration Database Server Strategy and Configuration

More information

14 Databases. Source: Foundations of Computer Science Cengage Learning. Objectives After studying this chapter, the student should be able to:

14 Databases. Source: Foundations of Computer Science Cengage Learning. Objectives After studying this chapter, the student should be able to: 14 Databases 14.1 Source: Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: Define a database and a database management system (DBMS)

More information

Database Systems. S. Adams. Dilbert. Available: http://dilbert.com. Hans-Petter Halvorsen, M.Sc.

Database Systems. S. Adams. Dilbert. Available: http://dilbert.com. Hans-Petter Halvorsen, M.Sc. Database Systems S. Adams. Dilbert. Available: http://dilbert.com Hans-Petter Halvorsen, M.Sc. Old fashion Database (Data-storage) Systems Not too long ago, this was the only data-storage device most companies

More information

Introduction to Triggers using SQL

Introduction to Triggers using SQL Introduction to Triggers using SQL Kristian Torp Department of Computer Science Aalborg University www.cs.aau.dk/ torp torp@cs.aau.dk November 24, 2011 daisy.aau.dk Kristian Torp (Aalborg University) Introduction

More information

Practice Writing the Letter A

Practice Writing the Letter A Aa Practice Writing the Letter A A a A a Write a in the blank to finish each word. c t re h d Write A in the blank to finish each word. nn US ndy Bb Practice Writing the Letter B B b B l P b Write b in

More information

McAfee Data Loss Prevention Endpoint 9.4.0

McAfee Data Loss Prevention Endpoint 9.4.0 Release Notes Revision A McAfee Data Loss Prevention Endpoint 9.4.0 For use with McAfee epolicy Orchestrator Contents About this release New features Enhancements Installation instructions Known issues

More information

Oracle SQL Developer SQL*Plus? A New Way to work with Oracle Database. Fekete Zoltán Principal Sales Consultant Database & DB Options CC, CEE

Oracle SQL Developer SQL*Plus? A New Way to work with Oracle Database. Fekete Zoltán Principal Sales Consultant Database & DB Options CC, CEE Oracle SQL Developer SQL*Plus? A New Way to work with Oracle Database Fekete Zoltán Principal Sales Consultant Database & DB Options CC, CEE Oracle Confidential Internal/Restricted/Highly Restricted Oracle

More information

U S B Pay m e n t P r o c e s s i n g TM

U S B Pay m e n t P r o c e s s i n g TM U S B Pay m e n t P r o c e s s i n g T h a t s S m a r t P r o c e s s i n g TM USB was simple to enroll in. They had competitive rates and all the fees were listed clearly with no surprises. Everyone

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

Complex Data and Object-Oriented. Databases

Complex Data and Object-Oriented. Databases Complex Data and Object-Oriented Topics Databases The object-oriented database model (JDO) The object-relational model Implementation challenges Learning objectives Explain what an object-oriented data

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

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

Relational Databases for Querying XML Documents: Limitations and Opportunities. Outline. Motivation and Problem Definition Querying XML using a RDBMS

Relational Databases for Querying XML Documents: Limitations and Opportunities. Outline. Motivation and Problem Definition Querying XML using a RDBMS Relational Databases for Querying XML Documents: Limitations and Opportunities Jayavel Shanmugasundaram Kristin Tufte Gang He Chun Zhang David DeWitt Jeffrey Naughton Outline Motivation and Problem Definition

More information

Migrating from Sybase to SQL Server

Migrating from Sybase to SQL Server Migrating from to Table of Contents: Migrating from to Data Compatibility Mode Behavior Optimizer Hints Conclusion Migrating from to Projects involving database migration are common. In this article, we

More information

B I N G O B I N G O. Hf Cd Na Nb Lr. I Fl Fr Mo Si. Ho Bi Ce Eu Ac. Md Co P Pa Tc. Uut Rh K N. Sb At Md H. Bh Cm H Bi Es. Mo Uus Lu P F.

B I N G O B I N G O. Hf Cd Na Nb Lr. I Fl Fr Mo Si. Ho Bi Ce Eu Ac. Md Co P Pa Tc. Uut Rh K N. Sb At Md H. Bh Cm H Bi Es. Mo Uus Lu P F. Hf Cd Na Nb Lr Ho Bi Ce u Ac I Fl Fr Mo i Md Co P Pa Tc Uut Rh K N Dy Cl N Am b At Md H Y Bh Cm H Bi s Mo Uus Lu P F Cu Ar Ag Mg K Thomas Jefferson National Accelerator Facility - Office of cience ducation

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

SQL Server 2016 New Features!

SQL Server 2016 New Features! SQL Server 2016 New Features! Improvements on Always On Availability Groups: Standard Edition will come with AGs support with one db per group synchronous or asynchronous, not readable (HA/DR only). Improved

More information

Supported Platforms May 2013

Supported Platforms May 2013 Supported Platforms May 2013 This document is intended for restricted use only. Infinite Campus asserts that this document contains proprietary information that would give our competitors undue advantage

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

V16 Pro - What s New?

V16 Pro - What s New? V16 Pro - What s New? Welcome to the V16 Pro. If you re an experienced V16+ and WinScript user, the V16 Pro and WinScript Live will seem like old friends. In fact, the new V16 is designed to be plug compatible

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

bow bandage candle buildings bulb coins barn cap corn

bow bandage candle buildings bulb coins barn cap corn b c bow bandage candle buildings bulb coins barn cap corn Copyright (C) 1999 Senari Programs Page 1 SoundBox Montessori d f darts dice door dove forest farm film foot fish Copyright (C) 1999 Senari Programs

More information

Physical Design. Meeting the needs of the users is the gold standard against which we measure our success in creating a database.

Physical Design. Meeting the needs of the users is the gold standard against which we measure our success in creating a database. Physical Design Physical Database Design (Defined): Process of producing a description of the implementation of the database on secondary storage; it describes the base relations, file organizations, and

More information