DBMS SQL JDBC 1. Integrated data

Size: px
Start display at page:

Download "DBMS SQL JDBC 1. Integrated data"

Transcription

1 Integrated data DBMS SQL JDBC 1 Often an enterprize or problem domain consists of data that can be organized on multiple attributes (multiple organizations). This classroom has people with different roles {student, professor}, associations {major, departments}, courses {sections and classes} In a single program collections can be used to "manage" data objects (references to data objects). For example, the CompSci department could use: a TreeMap to hold professors data with their names "Barnes" as keys. a HashMap to hold employment data using an employee id as a key an ArrayList to hold professors that serve on a committee. The three collections hold references to the same data objects

2 Data w/ multiple organizations DBMS SQL JDBC 2 Barnes Computer Science renzo@csun.edu Barkataki Computer Science shan@csun.edu Noga Computer Science noga@csun.edu All dynamic objects are "reference" variables their "value" is a pointer / reference to their memory location.

3 Retrievals Vs Updates DBMS SQL JDBC 3 Retrieval operations on integrated is easy. Access by key retrieval with the TreeMap or HashMap or search with the Arraylist accesses data object and "getter" methods can be invoked. Retrievals do not affect the organizations. What happens with insertion or deletions operations that update the organization? All collections must be kept in sync. Insert / delete into one requires associated insert / delete into all. The program must "know" and maintain the "semantics" of the associations among the data records. The relationships exist and are defined by the collections. There is no independence between data and management between storage and application. Soln: Database Management Systems.

4 Databases DBMS SQL JDBC 4 Database = collection of data organized for access, updated and managed. Information is the interpretation of data Database: collection of tables (relations), files, or datasets table is a collection of fields (columns of data items) attributes = table columns domain of values tuples = table rows attribute values of an entity primary key = field(s) that uniquely selects table row foreign key = fields in one table that are primary keys in another table. no duplicates of tuples or attributes order of rows and columns is not important cells = data items, single valued (int, float, string, boolean )

5 CSUN example DBMS SQL JDBC 5

6 Relation && Relationships RelationName (attribute 0, attribute 1, attribute n ) key = attribute DBMS SQL JDBC 6 profs ( pid, name, office) section ( snum, profid, studentid, class) students( sid, name, major) deptfacutly( dept, profid) Relationships exist between tables w/ shared values section ( snum, profid, studentid, class) profs ( pid, name, office) memberof teaches deptfacutly( dept, profid) attends students( sid, name, major)

7 Java JDBC SQLite3 Use posted SQLite Java Installation page notes to download, configure, and test your sqlite3 Java JDBC installation. SQLite (sqlite3) is a zeroinstallation, serverless, SQL compliant open source database. It is widely used in common applications. java application JDBC SQLite DB DBMS SQL JDBC 7 sqlite-jdbc connector These notes cover SQL (mysql examples) and sqlite3. The sqlite3 shell program can be used to test sqlite3 queries. We will use an "elections" database of USA Presidential elections since A Windows "dos command prompt" window (console session) for sqlite3 is on the next page

8 sqlite3 session DBMS SQL JDBC 8 C: sqlite3 // run sqlite SQLite version :27:36 Enter ".help" for usage hints. Connected to a transient in-memory database. Use ".open FILENAME" to reopen on a persistent database. sqlite>.open elections.db // creates empty elections.db sqlite>.mode columns // set output mode to columns sqlite>.mode tabs // set input separator to tabs sqlite>.read createtables.txt // enable tables from file sqlite>.schema CREATE TABLE President( // use blanks if not.mode tabs Name text not null, Party text not null, Year int not null, primary key (Name, Year)); //... shows VicePresident and Vote tables also... // the relations, tables have been defined, next load the data sqlite>.import President.txt President sqlite>.import VicePresident.txt VicePresident sqlite>.import Vote.txt Vote sqlite>.tables President VicePresident Vote

9 DBMS SQL JDBC 9 // count: how many entries are there for President? sqlite> select count(*) from President; 48 // select: who ran for President in 2000? sqlite> select Name, Year, Party from President where Year = 2000; Albert Gore 2000 Democratic Ralph Nader 2000 Green Harry Browne 2000 Libertarian Patrick Bucannan 2000 Reform George W Bush 2000 Republican

10 SQL DBMS SQL JDBC 10 SQL ("ess-que-el") Structured Query Language. SQL is used to communicate with a relational database. SQL statements are used to perform tasks :update or retrieve Relational database management systems that use SQL: Oracle, Sybase, Microsoft SQL Server, Access, MySql, Ingres Use SQL and have proprietary extensions SQL commands: DML Data Manipulation Language: SELECT, INSERT, UPDATE, DELETE, and other commands to load, read, data. DDL Data Definition Language: CREATE TABLE, ALTER TABLE, and others can change the database's design. DCL Data Control Language: GRANT, REVOKE, set privilege.

11 elections database mysql> SHOW DATABASES; Database information_schema elections mysql rows in set (0.00 sec) DBMS SQL JDBC 11 sqlite and mysql are case insensitive SQL commands shown uppercase sqlite commands shown lowercase sqlite shell has its own commands (lowercase only) ".<cmd>" sqlite3>.open elections.db mysql> USE elections; Database changed The elections mysql (and sqlite elections.db) database has 3 tables President(Name, Year, Party ) VicePresident ( Name, Year, Party ) Vote ( Party, Year, Percent )

12 DBMS SQL JDBC 12 mysql> SHOW TABLES; Tables_in_elections President VicePresident Vote rows in set (0.00 sec) sqlite>.table President VicePresident Vote sqlite>.schema President CREATE TABLE President( Name text not null, Party text not null, Year int not null, primary key (Name, Year)); mysql> DESCRIBE President; Field Type Null Key Default Extra Name varchar(30) NO PRI Party varchar(20) YES NULL Year int(4) NO PRI rows in set (0.00 sec)

13 DBMS SQL JDBC 13 The schema of tables below is shown with tabs and line feeds, as I created the elections.db from a text files (createtables.txt, President.txt, VicePresident.txt and Vote.txt). I had.mode tabs set so the data values are tab separated. sqlite>.schema CREATE TABLE President( Name text not null, Party text not null, Year int not null, primary key (Name, Year)); CREATE TABLE VicePresident( Name text not null, Party text not null, Year int not null, primary key (Name, Year)); CREATE TABLE Vote( Party text not null, Percent int not null, Year int not null, primary key (Party, Year));

14 SELECT SELECT column1 [,"column2",...] FROM tablename [WHERE condition]; DBMS SQL JDBC 14 [] = optional mysql> SELECT * FROM President; Name Party Year John Kennedy Democratic 1960 Richard Nixon Republican 1960 Lyndon Johnson Democratic Barak Obama Democratic 2008 John McCain Republican 2008 Ralph Nader Independent 2008 Bob Barr Libertarian rows in set (0.00 sec)

15 DBMS SQL JDBC 15 Note when using SQL commands (not sqlite shell commands) there is no "." before the command and the command terminates with a ";" sqlite> select * from President; Name Party Year Barack H. Obama Democratic 2012 Jill Stein Green 2012 Gary Johnson Libertarian 2012 Willard Mitt Romney Republican Lyndon Johnson Democratic 1964 Barry Goldwater Republican 1964 John Kennedy Democratic 1960 Richard Nixon Republican 1960

16 ORDER BY DBMS SQL JDBC 16 sqlite> select Name, Year from President order by Year; Name Year John Kennedy 1960 Richard Nixon 1960 Lyndon Johnson 1964 Barry Goldwater Barack H. Obama 2012 Jill Stein 2012 Gary Johnson 2012 Willard Mitt Romney 2012 Various sort orders can be used depending on column's data type.

17 WHERE DBMS SQL JDBC 17 mysql> SELECT Name, Year, Party FROM President WHERE Year = '2000'; Name Year Party Albert Gore 2000 Democratic Ralph Nader 2000 Green Harry Browne 2000 Libertarian Patrick Bucannan 2000 Reform George W Bush 2000 Republican rows in set (0.00 sec) mysql> SELECT COUNT (Year) FROM President; COUNT(Year) row in set (0.00 sec)

18 DBMS SQL JDBC 18 sqlite> select Name, Year, Party from President...> where Year = 2000; Name Year Party Albert Gore 2000 Democratic Ralph Nader 2000 Green Harry Browne 2000 Libertarian Patrick Bucannan 2000 Reform George W Bush 2000 Republican sqlite> select count (*) from President; count (*) The elections database for the mysql examples had data errors. The count for the sqlite election.db is "more" correct.

19 SQL Joins DBMS SQL JDBC 19 JOIN: Return rows when there is at least one match in both tables An INNER JOIN is the same as a JOIN. OUTER JOIN: return rows even when there are no matches through the JOIN critieria on the second table LEFT JOIN: Return all rows from the left table, even if there are no matches in the right table. A type of "outer join". RIGHT JOIN: Return all rows from the right table, even if there are no matches in the left table A type of "outer join" FULL JOIN: Return rows when there is a match in one of the tables A type of "outer join" CROSS JOIN: Cartesian product of the sets of rows from the joined tables. There is no "on condition". SQLite has three joins: cross, inner (default join), and left outer joins can be tricky, test/try them out, learn more about them...

20 Cross join DBMS SQL JDBC 20 Cross joins can return large tables the product of table attributes sqlite> select count (*) from President cross join Vote; count (*) President has 48 rows, Vote has 48 rows (2304 = 48 * 48) Does join, inner join, and left outer join give the same result for the above query with the election.db? Try it.

21 Join DBMS SQL JDBC 21 Query results can create "new tables" that are joins of existing tables. WHERE clause specifies the values to join tables on. mysql> SELECT President.Name, VicePresident.Name FROM President, VicePresident WHERE President.Year = VicePresident.Year AND President.Party = VicePresident.Party; Name Name John Kennedy Lyndon Johnson Richard Nixon Henry Lodge Lyndon Johnson Hubert Humphrey Barry Goldwater William Miller George Wallace Curtis LeMay

22 AS column alias DBMS SQL JDBC 22 PresidentName and VicePresidentName might be better attribute labels, wrt to queries, or use an alias sqlite> select President.Name as 'President',...> VicePresident.Name as 'Vice President'...> from President, VicePresident...> where President.Year = VicePresident.Year...> and President.Party = VicePresident.Party; President Vice President Barack H. Obama Joseph R. Biden Jill Stein Cheri Honkala Gary Johnson James P. Gray Willard Mitt Romney Paul Ryan... John Kennedy Lyndon Johnson Richard Nixon Henry Lodge

23 DISTINCT DBMS SQL JDBC 23 DISTINCT removes duplicate rows from results mysql> SELECT DISTINCT President.Party FROM President JOIN Vote; Party Democratic Republican American Libertarian Independent Green Reform rows in set (0.00 sec) sqlite> select distinct President.Party...> from President join Vote; Party Democratic Green Libertarian Republican Independent Reform American

24 sqlite> select distinct Name, Vote.Year...> from President, Vote...> where Name = 'Ralph Nader'; DBMS SQL JDBC 24 Name Year Ralph Nader 2012 Ralph Nader 2008 Ralph Nader 2000 Ralph Nader 1996 Ralph Nader 1992 Ralph Nader 1988 Ralph Nader 1984 Ralph Nader 1980 Ralph Nader 1976 Ralph Nader 1972 Ralph Nader 1968 Ralph Nader 1964 Ralph Nader 1960 implicit join creates too many entries for 'Ralph Nader'

25 ON DBMS SQL JDBC 25 ON clause determines columns to search for matches between tables. sqlite> select Name, President.Party, Vote.Percent,...> Vote.Year...> from President join Vote...> on President.Party = Vote.Party...> and President.Year = Vote.Year...> where Name = 'Ralph Nader'; Name Party Percent Year Ralph Nader Green Ralph Nader Green Ralph Nader Independent

26 INSERT DBMS SQL JDBC 26 Insert values into tables. When a new row is to be inserted the columns are not needed with values in column order. INSERT INTO tablename (column i,... column n VALUES (value i... value n ); sqlite> insert into President (Name, Party, Year)...> values ('Renzo Ghia', 'Yes please', 1999); sqlite> insert into President...> values ('Renzo Ghia', 'Halloween', 2010); sqlite> select * from President...> where Name = 'Renzo Ghia'; Name Party Year Renzo Ghia Yes please 1999 Renzo Ghia Halloween 2010

27 UPDATE DBMS SQL JDBC 27 When inserting values into tables that are related to other tables (foreign keys) all tables must have appropriate values inserted. UPDATE is used to alter (modify) tables UPDATE TableName SET columni = valuei,... WHERE...; sqlite> update President...> set Party = 'Halloween'...> where Year = 1999; sqlite> select * from President...> where Name = 'Renzo Ghia'; Name Party Year Renzo Ghia Halloween 1999 Renzo Ghia Halloween 2010

28 DELETE DBMS SQL JDBC 28 If not WHERE clause is used with UPDATE then all rows in table are updated. Delete a record from a table. Delete used w/o a WHERE clause deletes all rows from the table (no undo). DELETE FROM tablename WHERE...; mysql> DELETE FROM President WHERE Name = 'Renzo Ghia'; Query OK, 2 rows affected (0.00 sec) mysql> SELECT * FROM President WHERE Name = 'Renzo Ghia'; Empty set (0.00 sec) Deleting related records from a table. DELETE ColumnName i FROM TableName i WHERE condition i ;

29 ALTER, DROP DBMS SQL JDBC 29 Use ALTER to change a table's design. ALTER TABLE tablename CHANGE columnnameold columnname New columntype columnoptions; ALTER TABLE tablename ADD newcolumnname columntype columnoptions; ALTER TABLE tablename ADD newcolumnname columntype columnoptions; other add options: primary key, foreign keys, index, ALTER TABLE tablename DROP columnname; sqlite's alter can't add composite keys To delete a table DROP TABLE tablename;

30 CREATE DBMS SQL JDBC 30 There are GUI based mysql administration tools to use for large databases: phpmyadmin, MySqlWorkbench (updates MySqlAdministrator) CREATE DATABASE databasename; CREATE TABLE [IF NOT EXISTS] tablename ( columnname i, columntype i, columnoptions i ); mysql> CREATE TABLE Vote ( Party VARCHAR(20), int(2), Year int(4), PRIMARY KEY (Party, Year) ); mysql> CREATE TABLE President ( Name VARCHAR(30), Party VARCHAR(20), Year int(4), PRIMARY KEY (Name, Year) ); Percent mysql> CREATE TABLE VicePresident ( Name VARCHAR(30), Party VARCHAR(20), Year int(4), PRIMARY KEY (Name, Year) );

31 load data from file DBMS SQL JDBC 31 CREATE TABLE tablename SELECT * FROM columnname WHERE condition; Fill table with data from local file mysql> LOAD DATA LOCAL INFILE 'Vote.txt' INTO TABLE Vote; Query OK, 50 rows affected (0.00 sec) Records: 50 Deleted: 0 Skipped: 0 Warnings: 0 mysql> LOAD DATA LOCAL INFILE 'President.txt' INTO TABLE President;... mysql> LOAD DATA LOCAL INFILE 'VicePresident.txt' INTO TABLE VicePresident;... ========================================================== sqlite see page 8 for creating tables and loading them from files with sqlite shell. Files posted on class page.

32 SQL Backup / restore DBMS SQL JDBC 32 Create can be used to make a backup of tables CREATE TABLE backuptablename SELECT * FROM TableName; Restore a table from a backup DELETE FROM TableName; INSERT INTO TableName SELECT * FROM BackupTableName; Make a backup copy of entire database done outside mysql at command prompt. $ mysldump u loginname p databasename > backupfile Enter password: xxxx Restore a database. $ mysql u loginname p dbname < backupfile Enter password: xxxx

33 DBMS SQL JDBC 33 sqlite shell dump sqlite shell dump command can be used to create a text file of sqlite commands to create (re-create) the database. sqlite>.output election.bak // output sent to filename sqlite>.dump // selected, representative, lines from election.bak PRAGMA foreign_keys=off; BEGIN TRANSACTION; CREATE TABLE President( Name text not null, Party text not null, Year int not null, primary key (Name, Year)); INSERT INTO "President" VALUES('Barack H. Obama','Democratic',2012);... INSERT INTO "President" VALUES('Richard Nixon','Republican',1960); CREATE TABLE VicePresident( Name text not null, Party text not null, Year int not null, primary key (Name, Year)); INSERT INTO "VicePresident" VALUES('Joseph R. Biden','Democratic',2012);... COMMIT;.quit // too close and save output file

34 sqlite shell backup and restore DBMS SQL JDBC 34 sqlite shell backup command can be used to create a "binary" file backup of named or current "main" sqlite>.backup election.bak2 sqlite>.quit // restart sqlite3 sqlite>.open election.bak2 sqlite>.tables President VicePresident Vote sqlite>.schema CREATE TABLE President( Name text not null, Party text not null, Year int not null, primary key (Name, Year));... ===================================================================== Restore database from text file dump sqlite>.read election.bak sqlite>.tables President VicePresident Vote

35 Java + sqlite DBMS SQL JDBC 35 // Code fragments from posted MakeDB.java example import java.sql.*; public class MakeDB { Connection connect = null; Statement stmt = null; ResultSet rs = null; String sql = null; // connection to database // a SQL statement // values returned from SQL query // string for the sql statement public int insertdataobjects(int n) { // create values for id, age, name and gender here try { sql = String.format("insert into DataObject (ID, Name, Age, Gender) values (%d, '%s', %d, '%s')", id, name, age, gender); stmt.executeupdate(sql); } catch ( Exception e ) { System.err.println( e.getclass().getname() + " insert into table " + i + " " + e.getmessage() ); System.exit(0); } //... return i; }

36 create db and table DBMS SQL JDBC 36 public makedb() { try { Class.forName("org.sqlite.JDBC"); connect = DriverManager.getConnection("jdbc:sqlite:dataObject.db"); // create statement stmt = connect.createstatement(); // create table sql = "drop table if exists DataObject"; stmt.executeupdate(sql); sql = "create table if not exists DataObject " + "(ID int primary key not null," + " Name varchar(10) not null," + " Age int not null, " + " Gender varchar(10))"; stmt.executeupdate(sql); System.out.println("defined table DataObject"); } catch ( Exception e ) { System.err.println( e.getclass().getname() + ". attempt to create table: " + e.getmessage() ); System.exit(0); }

37 select query with result set DBMS SQL JDBC 37 try { // Query table rs = stmt.executequery( "select * from DataObject where Name = 'ginger';"); int id, age; String name, gender; while ( rs.next() ) { id = rs.getint("id"); name = rs.getstring("name"); age = rs.getint("age"); gender = rs.getstring("gender"); System.out.printf("%d \t %s \t %d \t %s \n", id, name, age, gender); } rs.close(); stmt.close(); } catch ( Exception e ) { System.err.println( e.getclass().getname() + ". attempt to query DataObject: " + e.getmessage() ); System.exit(0); }

38 DBMS Normalization DBMS SQL JDBC 38 Entity specification (aka relation) declares an entity s attributes Normalization process designs an optimum set of entity specifications for all types of modifications. create many simple entity specifications from many associations minimizes update anomalies and data redundancy single-valued dependencies: 1:1 primary key is the determinant A s value determines B s value (where B is all attributes) multi-valued dependencies: 1:N and M:N A determines many B and B determines single A A s value determines finite set of B values A determines many B and B determines many A A s value determines finite set of B values B s value determines finite set of A values

39 prof office example DBMS SQL JDBC 39 Prof ( pid, office, name, dept) Barnes CS Smith CS Gumb CS Wong EE Katz EE Schwartz EE Schwartz CS Member( office, dept) 414 CS 413 CS 404 CS 304 EE 402 EE pid name, office, dept office dept name pid office dept

40 single-valued dependencies (SVD) DBMS SQL JDBC 40 If attributes of an entity are determined by the value of the determinant the semantics (associations that exist among attribute values) can be represented in the data not in the application program (or database). functional partial transitive Boyce-Codd non-key attributes of entity are determined by the entire set of the primary key (not a subset). entity non-key attributes is dependent on a subset of the primary key. exist within non-key attributes of an entity when a functional dependency exists among themselves. exists when a non-key attribute determines part of a composite primary key set. Infrequent, not discussed.

41 prof office example improved DBMS SQL JDBC 41 Prof ( pid, office, name,) Barnes Smith Gumb Wong Katz Schwartz Schwartz Member( office, dept) pid pid name, office, office dept name 414 CS 413 CS 404 CS 304 EE 402 EE office dept

42 un-normalized example DBMS SQL JDBC 42 Entities: E1 ( A1, A2, A3, B, C ) E2 ( A1, A3, C ) E3 ( F, G, H, I ) E4 ( H, I ) F G H A1 A3 A2 B C I Normalization seeks to make all single-valued dependencies functional dependencies.

43 Normal Forms DBMS SQL JDBC 43 First Normal Form An entity specification is in first normal form if all its attributes are atomic values (not structures, or repeating groups). All "flat files" (common files, files with nonvariant records) are 1NF. All the entities on the previous slide are 1NF. Second Normal Form An entity specification is 2NF if it is 1NF and there are no partial dependencies. A partial dependency requires a composite key. There exists a partial dependency in E1, C is functionally dependent only on A1, A3 A2 is not required to determine C. E1.1 ( A1, A2, A3, B ) // remove C from E1. E2 ( A1, A3, C )

44 3NF DBMS SQL JDBC 44 Third Normal Form An entity specification is 3NF if it is 2NF and there are no transitive dependencies. E3 is not 3NF H is not a key (in E3) and it determines I E3.1 ( F, G, H ) // remove I from E3 Normalized example Entities: E1.1 ( A1, A2, A3, B ) E2 ( A1, A3, C ) E3.1 ( F, G, H ) E4 ( H, I ) F G H I A1 A3 A2 B C

45 multivalued dependencies DBMS SQL JDBC 45 A multivalued dependency (MVD) exists when key can determine more than one value (from a finite set of values) for another attribute. Texts ( bid, course, section) 20 cs cs cs cs cs cs cs cs cs cs cs A course could have multiple sections. Each section could require a different textbook. The same text could be used for multiple courses. bid course course bid course section course section bid

46 4NF DBMS SQL JDBC 46 Fourth Normal Form An entity specification is 4NF if it is BCNF and there is at most 1 MVD within the entity. violations of 4NF have high data redundancy with possible update anomalies Texts entity has 1 : N between course and section 1 : N between course and bid (book id) M : N between course and bid ClassTexts (bid, course) ClassSections ( course, section ) bid course course section section course 20 cs cs cs cs cs cs440 bid section course cs cs cs cs cs cs cs

47 5NF, DKNF DBMS SQL JDBC 47 Fifth Normal Form An entity specification is 5NF if it is 4NF and dependencies cannot be decomposed into simpler entity specifications w/o loss of information. Domain Key Normal Form Is the goal of normalization. All dependencies in the data are represented by keys determining nonkeys. Practically, SVDs are designed to remove violations of 3NF MVDs are designed to remove violations of 4NF. Complex entity specifications (stuff all attributes into 1 relation or 1 file) are prone to be poorly designed because dependencies can't be expressed as a function of primary keys. (BCNF and 5NF violations are infrequent and usually non-intuitive entity specifications.)

48 exercise DBMS SQL JDBC 48 Determine the normal form for each entity specification and normalize the set of entitites. R1 ( B, E, A, C, H ) R2 ( S, U, R, F ) R3 ( N, O, W ) ( B, E) A, C, H C H (S, U) R, F U F N O, W W O

49 references SQLite tutorial DBMS SQL JDBC 49 SQLite org, command syntax diagrams MySQL on-line reference manual On-line SQL guides, tutorials MongoDB, an open-source no SQL document database

Chapter 9 Java and SQL. Wang Yang wyang@njnet.edu.cn

Chapter 9 Java and SQL. Wang Yang wyang@njnet.edu.cn Chapter 9 Java and SQL Wang Yang wyang@njnet.edu.cn Outline Concern Data - File & IO vs. Database &SQL Database & SQL How Connect Java to SQL - Java Model for Database Java Database Connectivity (JDBC)

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

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

D61830GC30. MySQL for Developers. Summary. Introduction. Prerequisites. At Course completion After completing this course, students will be able to:

D61830GC30. MySQL for Developers. Summary. Introduction. Prerequisites. At Course completion After completing this course, students will be able to: D61830GC30 for Developers Summary Duration Vendor Audience 5 Days Oracle Database Administrators, Developers, Web Administrators Level Technology Professional Oracle 5.6 Delivery Method Instructor-led

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

SQL Server. 1. What is RDBMS?

SQL Server. 1. What is RDBMS? SQL Server 1. What is RDBMS? Relational Data Base Management Systems (RDBMS) are database management systems that maintain data records and indices in tables. Relationships may be created and maintained

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

CSI 2132 Lab 3. Outline 09/02/2012. More on SQL. Destroying and Altering Relations. Exercise: DROP TABLE ALTER TABLE SELECT

CSI 2132 Lab 3. Outline 09/02/2012. More on SQL. Destroying and Altering Relations. Exercise: DROP TABLE ALTER TABLE SELECT CSI 2132 Lab 3 More on SQL 1 Outline Destroying and Altering Relations DROP TABLE ALTER TABLE SELECT Exercise: Inserting more data into previous tables Single-table queries Multiple-table queries 2 1 Destroying

More information

Database Design. Marta Jakubowska-Sobczak IT/ADC based on slides prepared by Paula Figueiredo, IT/DB

Database Design. Marta Jakubowska-Sobczak IT/ADC based on slides prepared by Paula Figueiredo, IT/DB Marta Jakubowska-Sobczak IT/ADC based on slides prepared by Paula Figueiredo, IT/DB Outline Database concepts Conceptual Design Logical Design Communicating with the RDBMS 2 Some concepts Database: an

More information

A basic create statement for a simple student table would look like the following.

A basic create statement for a simple student table would look like the following. Creating Tables A basic create statement for a simple student table would look like the following. create table Student (SID varchar(10), FirstName varchar(30), LastName varchar(30), EmailAddress varchar(30));

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

Database Access from a Programming Language: Database Access from a Programming Language

Database Access from a Programming Language: Database Access from a Programming Language Database Access from a Programming Language: Java s JDBC Werner Nutt Introduction to Databases Free University of Bozen-Bolzano 2 Database Access from a Programming Language Two Approaches 1. Embedding

More information

Database Access from a Programming Language:

Database Access from a Programming Language: Database Access from a Programming Language: Java s JDBC Werner Nutt Introduction to Databases Free University of Bozen-Bolzano 2 Database Access from a Programming Language Two Approaches 1. Embedding

More information

EECS 647: Introduction to Database Systems

EECS 647: Introduction to Database Systems EECS 647: Introduction to Database Systems Instructor: Luke Huan Spring 2013 Administrative Take home background survey is due this coming Friday The grader of this course is Ms. Xiaoli Li and her email

More information

SQL Databases Course. by Applied Technology Research Center. This course provides training for MySQL, Oracle, SQL Server and PostgreSQL databases.

SQL Databases Course. by Applied Technology Research Center. This course provides training for MySQL, Oracle, SQL Server and PostgreSQL databases. SQL Databases Course by Applied Technology Research Center. 23 September 2015 This course provides training for MySQL, Oracle, SQL Server and PostgreSQL databases. Oracle Topics This Oracle Database: SQL

More information

Lab 2: PostgreSQL Tutorial II: Command Line

Lab 2: PostgreSQL Tutorial II: Command Line Lab 2: PostgreSQL Tutorial II: Command Line In the lab 1, we learned how to use PostgreSQL through the graphic interface, pgadmin. However, PostgreSQL may not be used through a graphical interface. This

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

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

COMP 5138 Relational Database Management Systems. Week 5 : Basic SQL. Today s Agenda. Overview. Basic SQL Queries. Joins Queries COMP 5138 Relational Database Management Systems Week 5 : Basic COMP5138 "Relational Database Managment Systems" J. Davis 2006 5-1 Today s Agenda Overview Basic Queries Joins Queries Aggregate Functions

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

Database 10g Edition: All possible 10g features, either bundled or available at additional cost.

Database 10g Edition: All possible 10g features, either bundled or available at additional cost. Concepts Oracle Corporation offers a wide variety of products. The Oracle Database 10g, the product this exam focuses on, is the centerpiece of the Oracle product set. The "g" in "10g" stands for the Grid

More information

The JAVA Way: JDBC and SQLJ

The JAVA Way: JDBC and SQLJ The JAVA Way: JDBC and SQLJ David Toman School of Computer Science University of Waterloo Introduction to Databases CS348 David Toman (University of Waterloo) JDBC/SQLJ 1 / 21 The JAVA way to Access RDBMS

More information

Normalization in OODB Design

Normalization in OODB Design Normalization in OODB Design Byung S. Lee Graduate Programs in Software University of St. Thomas St. Paul, Minnesota bslee@stthomas.edu Abstract When we design an object-oriented database schema, we need

More information

Multimedia im Netz Online Multimedia Winter semester 2015/16

Multimedia im Netz Online Multimedia Winter semester 2015/16 Multimedia im Netz Online Multimedia Winter semester 2015/16 Tutorial 04 Minor Subject Ludwig-Maximilians-Universität München Online Multimedia WS 2015/16 - Tutorial 04 (NF) - 1 Today s Agenda Repetition:

More information

Using Netbeans and the Derby Database for Projects Contents

Using Netbeans and the Derby Database for Projects Contents Using Netbeans and the Derby Database for Projects Contents 1. Prerequisites 2. Creating a Derby Database in Netbeans a. Accessing services b. Creating a database c. Making a connection d. Creating tables

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

Question 1. Relational Data Model [17 marks] Question 2. SQL and Relational Algebra [31 marks]

Question 1. Relational Data Model [17 marks] Question 2. SQL and Relational Algebra [31 marks] EXAMINATIONS 2005 MID-YEAR COMP 302 Database Systems Time allowed: Instructions: 3 Hours Answer all questions. Make sure that your answers are clear and to the point. Write your answers in the spaces provided.

More information

DATABASE NORMALIZATION

DATABASE NORMALIZATION DATABASE NORMALIZATION Normalization: process of efficiently organizing data in the DB. RELATIONS (attributes grouped together) Accurate representation of data, relationships and constraints. Goal: - Eliminate

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

Intro to Databases. ACM Webmonkeys 2011

Intro to Databases. ACM Webmonkeys 2011 Intro to Databases ACM Webmonkeys 2011 Motivation Computer programs that deal with the real world often need to store a large amount of data. E.g.: Weather in US cities by month for the past 10 years List

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

1. INTRODUCTION TO RDBMS

1. INTRODUCTION TO RDBMS Oracle For Beginners Page: 1 1. INTRODUCTION TO RDBMS What is DBMS? Data Models Relational database management system (RDBMS) Relational Algebra Structured query language (SQL) What Is DBMS? Data is one

More information

Abstract. For notes detailing the changes in each release, see the MySQL for Excel Release Notes. For legal information, see the Legal Notices.

Abstract. For notes detailing the changes in each release, see the MySQL for Excel Release Notes. For legal information, see the Legal Notices. MySQL for Excel Abstract This is the MySQL for Excel Reference Manual. It documents MySQL for Excel 1.3 through 1.3.6. Much of the documentation also applies to the previous 1.2 series. For notes detailing

More information

B.1 Database Design and Definition

B.1 Database Design and Definition Appendix B Database Design B.1 Database Design and Definition Throughout the SQL chapter we connected to and queried the IMDB database. This database was set up by IMDB and available for us to use. But

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

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

Driver for JDBC Implementation Guide

Driver for JDBC Implementation Guide www.novell.com/documentation Driver for JDBC Implementation Guide Identity Manager 4.0.2 January 2014 Legal Notices Novell, Inc. makes no representations or warranties with respect to the contents or use

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

- 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

Chapter 15 Basics of Functional Dependencies and Normalization for Relational Databases

Chapter 15 Basics of Functional Dependencies and Normalization for Relational Databases Chapter 15 Basics of Functional Dependencies and Normalization for Relational Databases Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 15 Outline Informal Design Guidelines

More information

COSC344 Database Theory and Applications. Lecture 9 Normalisation. COSC344 Lecture 9 1

COSC344 Database Theory and Applications. Lecture 9 Normalisation. COSC344 Lecture 9 1 COSC344 Database Theory and Applications Lecture 9 Normalisation COSC344 Lecture 9 1 Overview Last Lecture Functional Dependencies This Lecture Normalisation Introduction 1NF 2NF 3NF BCNF Source: Section

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

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

Oracle. Brief Course Content This course can be done in modular form as per the detail below. ORA-1 Oracle Database 10g: SQL 4 Weeks 4000/-

Oracle. Brief Course Content This course can be done in modular form as per the detail below. ORA-1 Oracle Database 10g: SQL 4 Weeks 4000/- Oracle Objective: Oracle has many advantages and features that makes it popular and thereby makes it as the world's largest enterprise software company. Oracle is used for almost all large application

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

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

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

CSC 443 Data Base Management Systems. Basic SQL

CSC 443 Data Base Management Systems. Basic SQL CSC 443 Data Base Management Systems Lecture 6 SQL As A Data Definition Language Basic SQL SQL language Considered one of the major reasons for the commercial success of relational databases SQL Structured

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

4. The Third Stage In Designing A Database Is When We Analyze Our Tables More Closely And Create A Between Tables

4. The Third Stage In Designing A Database Is When We Analyze Our Tables More Closely And Create A Between Tables 1. What Are The Different Views To Display A Table A) Datasheet View B) Design View C) Pivote Table & Pivot Chart View D) All Of Above 2. Which Of The Following Creates A Drop Down List Of Values To Choose

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

The process of database development. Logical model: relational DBMS. Relation

The process of database development. Logical model: relational DBMS. Relation The process of database development Reality (Universe of Discourse) Relational Databases and SQL Basic Concepts The 3rd normal form Structured Query Language (SQL) Conceptual model (e.g. Entity-Relationship

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

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

Demystified CONTENTS Acknowledgments xvii Introduction xix CHAPTER 1 Database Fundamentals CHAPTER 2 Exploring Relational Database Components

Demystified CONTENTS Acknowledgments xvii Introduction xix CHAPTER 1 Database Fundamentals CHAPTER 2 Exploring Relational Database Components Acknowledgments xvii Introduction xix CHAPTER 1 Database Fundamentals 1 Properties of a Database 1 The Database Management System (DBMS) 2 Layers of Data Abstraction 3 Physical Data Independence 5 Logical

More information

Database Programming with PL/SQL: Learning Objectives

Database Programming with PL/SQL: Learning Objectives Database Programming with PL/SQL: Learning Objectives This course covers PL/SQL, a procedural language extension to SQL. Through an innovative project-based approach, students learn procedural logic constructs

More information

7. Databases and Database Management Systems

7. Databases and Database Management Systems 7. Databases and Database Management Systems 7.1 What is a File? A file is a collection of data or information that has a name, called the Filename. There are many different types of files: Data files

More information

SQL Server An Overview

SQL Server An Overview SQL Server An Overview SQL Server Microsoft SQL Server is designed to work effectively in a number of environments: As a two-tier or multi-tier client/server database system As a desktop database system

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

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

In This Lecture. Security and Integrity. Database Security. DBMS Security Support. Privileges in SQL. Permissions and Privilege.

In This Lecture. Security and Integrity. Database Security. DBMS Security Support. Privileges in SQL. Permissions and Privilege. In This Lecture Database Systems Lecture 14 Natasha Alechina Database Security Aspects of security Access to databases Privileges and views Database Integrity View updating, Integrity constraints For more

More information

Creating Database Tables in Microsoft SQL Server

Creating Database Tables in Microsoft SQL Server Creating Database Tables in Microsoft SQL Server Microsoft SQL Server is a relational database server that stores and retrieves data for multi-user network-based applications. SQL Server databases are

More information

What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World

What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World COSC 304 Introduction to Systems Introduction Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca What is a database? A database is a collection of logically related data for

More information

MyOra 3.0. User Guide. SQL Tool for Oracle. Jayam Systems, LLC

MyOra 3.0. User Guide. SQL Tool for Oracle. Jayam Systems, LLC MyOra 3.0 SQL Tool for Oracle User Guide Jayam Systems, LLC Contents Features... 4 Connecting to the Database... 5 Login... 5 Login History... 6 Connection Indicator... 6 Closing the Connection... 7 SQL

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

1 File Processing Systems

1 File Processing Systems COMP 378 Database Systems Notes for Chapter 1 of Database System Concepts Introduction A database management system (DBMS) is a collection of data and an integrated set of programs that access that data.

More information

Information Technology NVEQ Level 2 Class X IT207-NQ2012-Database Development (Basic) Student s Handbook

Information Technology NVEQ Level 2 Class X IT207-NQ2012-Database Development (Basic) Student s Handbook Students Handbook ... Accenture India s Corporate Citizenship Progra as well as access to their implementing partners (Dr. Reddy s Foundation supplement CBSE/ PSSCIVE s content. ren s life at Database

More information

FileMaker 12. ODBC and JDBC Guide

FileMaker 12. ODBC and JDBC Guide FileMaker 12 ODBC and JDBC Guide 2004 2012 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and Bento are trademarks of FileMaker, Inc.

More information

P_Id LastName FirstName Address City 1 Kumari Mounitha VPura Bangalore 2 Kumar Pranav Yelhanka Bangalore 3 Gubbi Sharan Hebbal Tumkur

P_Id LastName FirstName Address City 1 Kumari Mounitha VPura Bangalore 2 Kumar Pranav Yelhanka Bangalore 3 Gubbi Sharan Hebbal Tumkur SQL is a standard language for accessing and manipulating databases. What is SQL? SQL stands for Structured Query Language SQL lets you access and manipulate databases SQL is an ANSI (American National

More information

RELATIONAL DATABASE DESIGN

RELATIONAL DATABASE DESIGN RELATIONAL DATABASE DESIGN g Good database design - Avoiding anomalies g Functional Dependencies g Normalization & Decomposition Using Functional Dependencies g 1NF - Atomic Domains and First Normal Form

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

Mul$media im Netz (Online Mul$media) Wintersemester 2014/15. Übung 03 (Nebenfach)

Mul$media im Netz (Online Mul$media) Wintersemester 2014/15. Übung 03 (Nebenfach) Mul$media im Netz (Online Mul$media) Wintersemester 2014/15 Übung 03 (Nebenfach) Online Mul?media WS 2014/15 - Übung 3-1 Databases and SQL Data can be stored permanently in databases There are a number

More information

LOGICAL DATABASE DESIGN

LOGICAL DATABASE DESIGN MODULE 8 LOGICAL DATABASE DESIGN OBJECTIVE QUESTIONS There are 4 alternative answers to each question. One of them is correct. Pick the correct answer. Do not guess. A key is given at the end of the module

More information

SQL, PL/SQL FALL Semester 2013

SQL, PL/SQL FALL Semester 2013 SQL, PL/SQL FALL Semester 2013 Rana Umer Aziz MSc.IT (London, UK) Contact No. 0335-919 7775 enquire@oeconsultant.co.uk EDUCATION CONSULTANT Contact No. 0335-919 7775, 0321-515 3403 www.oeconsultant.co.uk

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

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

Databases and SQL. The Bioinformatics Lab SS 2013 - Wiki topic 10. Tikira Temu. 04. June 2013

Databases and SQL. The Bioinformatics Lab SS 2013 - Wiki topic 10. Tikira Temu. 04. June 2013 Databases and SQL The Bioinformatics Lab SS 2013 - Wiki topic 10 Tikira Temu 04. June 2013 Outline 1 Database system (DBS) Definition DBS Definition DBMS Advantages of a DBMS Famous DBMS 2 Some facts about

More information

DATABASE MANAGEMENT SYSTEMS. Question Bank:

DATABASE MANAGEMENT SYSTEMS. Question Bank: DATABASE MANAGEMENT SYSTEMS Question Bank: UNIT 1 1. Define Database? 2. What is a DBMS? 3. What is the need for database systems? 4. Define tupule? 5. What are the responsibilities of DBA? 6. Define schema?

More information

Part 6. Normalization

Part 6. Normalization Part 6 Normalization Normal Form Overview Universe of All Data Relations (normalized / unnormalized 1st Normal Form 2nd Normal Form 3rd Normal Form Boyce-Codd Normal Form (BCNF) 4th Normal Form 5th Normal

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

CS 377 Database Systems SQL Programming. Li Xiong Department of Mathematics and Computer Science Emory University

CS 377 Database Systems SQL Programming. Li Xiong Department of Mathematics and Computer Science Emory University CS 377 Database Systems SQL Programming Li Xiong Department of Mathematics and Computer Science Emory University 1 A SQL Query Joke A SQL query walks into a bar and sees two tables. He walks up to them

More information

CHAPTER 2 DATABASE MANAGEMENT SYSTEM AND SECURITY

CHAPTER 2 DATABASE MANAGEMENT SYSTEM AND SECURITY CHAPTER 2 DATABASE MANAGEMENT SYSTEM AND SECURITY 2.1 Introduction In this chapter, I am going to introduce Database Management Systems (DBMS) and the Structured Query Language (SQL), its syntax and usage.

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

KB_SQL SQL Reference Guide Version 4

KB_SQL SQL Reference Guide Version 4 KB_SQL SQL Reference Guide Version 4 1995, 1999 by KB Systems, Inc. All rights reserved. KB Systems, Inc., Herndon, Virginia, USA. Printed in the United States of America. No part of this manual may be

More information

Databases and BigData

Databases and BigData Eduardo Cunha de Almeida eduardo.almeida@uni.lu Outline of the course Introduction Database Systems (E. Almeida) Distributed Hash Tables and P2P (C. Cassagnes) NewSQL (D. Kim and J. Meira) NoSQL (D. Kim)

More information

C HAPTER 4 INTRODUCTION. Relational Databases FILE VS. DATABASES FILE VS. DATABASES

C HAPTER 4 INTRODUCTION. Relational Databases FILE VS. DATABASES FILE VS. DATABASES INRODUCION C HAPER 4 Relational Databases Questions to be addressed in this chapter: How are s different than file-based legacy systems? Why are s important and what is their advantage? What is the difference

More information

Chapter 5: Logical Database Design and the Relational Model Part 2: Normalization. Introduction to Normalization. Normal Forms.

Chapter 5: Logical Database Design and the Relational Model Part 2: Normalization. Introduction to Normalization. Normal Forms. Chapter 5: Logical Database Design and the Relational Model Part 2: Normalization Modern Database Management 6 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden Robert C. Nickerson ISYS

More information

A. TRUE-FALSE: GROUP 2 PRACTICE EXAMPLES FOR THE REVIEW QUIZ:

A. TRUE-FALSE: GROUP 2 PRACTICE EXAMPLES FOR THE REVIEW QUIZ: GROUP 2 PRACTICE EXAMPLES FOR THE REVIEW QUIZ: Review Quiz will contain very similar question as below. Some questions may even be repeated. The order of the questions are random and are not in order of

More information

CS2Bh: Current Technologies. Introduction to XML and Relational Databases. The Relational Model. The relational model

CS2Bh: Current Technologies. Introduction to XML and Relational Databases. The Relational Model. The relational model CS2Bh: Current Technologies Introduction to XML and Relational Databases Spring 2005 The Relational Model CS2 Spring 2005 (LN6) 1 The relational model Proposed by Codd in 1970. It is the dominant data

More information

DBMS Questions. 3.) For which two constraints are indexes created when the constraint is added?

DBMS Questions. 3.) For which two constraints are indexes created when the constraint is added? DBMS Questions 1.) Which type of file is part of the Oracle database? A.) B.) C.) D.) Control file Password file Parameter files Archived log files 2.) Which statements are use to UNLOCK the user? A.)

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

Topics. Database Essential Concepts. What s s a Good Database System? Using Database Software. Using Database Software. Types of Database Programs

Topics. Database Essential Concepts. What s s a Good Database System? Using Database Software. Using Database Software. Types of Database Programs Topics Software V:. Database concepts: records, fields, data types. Relational and objectoriented databases. Computer maintenance and operation: storage health and utilities; back-up strategies; keeping

More information

Elena Baralis, Silvia Chiusano Politecnico di Torino. Pag. 1. Active database systems. Triggers. Triggers. Active database systems.

Elena Baralis, Silvia Chiusano Politecnico di Torino. Pag. 1. Active database systems. Triggers. Triggers. Active database systems. Active database systems Database Management Systems Traditional DBMS operation is passive Queries and updates are explicitly requested by users The knowledge of processes operating on data is typically

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

Talend for Data Integration guide

Talend for Data Integration guide Talend for Data Integration guide Table of Contents Introduction...2 About the author...2 Download, install and run...2 The first project...3 Set up a new project...3 Create a new Job...4 Execute the job...7

More information

Information Systems 2. 1. Modelling Information Systems I: Databases

Information Systems 2. 1. Modelling Information Systems I: Databases Information Systems 2 Information Systems 2 1. Modelling Information Systems I: Databases Lars Schmidt-Thieme Information Systems and Machine Learning Lab (ISMLL) Institute for Business Economics and Information

More information

SQL Injection. SQL Injection. CSCI 4971 Secure Software Principles. Rensselaer Polytechnic Institute. Spring 2010 ...

SQL Injection. SQL Injection. CSCI 4971 Secure Software Principles. Rensselaer Polytechnic Institute. Spring 2010 ... SQL Injection CSCI 4971 Secure Software Principles Rensselaer Polytechnic Institute Spring 2010 A Beginner s Example A hypothetical web application $result = mysql_query(

More information

DbSchema Tutorial with Introduction in SQL Databases

DbSchema Tutorial with Introduction in SQL Databases DbSchema Tutorial with Introduction in SQL Databases Contents Connect to the Database and Create First Tables... 2 Create Foreign Keys... 7 Create Indexes... 9 Generate Random Data... 11 Relational Data

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

Setting Up ALERE with Client/Server Data

Setting Up ALERE with Client/Server Data Setting Up ALERE with Client/Server Data TIW Technology, Inc. November 2014 ALERE is a registered trademark of TIW Technology, Inc. The following are registered trademarks or trademarks: FoxPro, SQL Server,

More information