Introduction to Information and Computer Science Databases and SQL Lecture c This material...

Preview:

Citation preview

Introduction to Information and Computer Science

Databases and SQL

Lecture c

This material (Comp4_Unit6c) was developed by Oregon Health and Science University, funded by the Department of Health and Human Services, Office of the National Coordinator for Health Information Technology under Award Number

IU24OC000015.

Databases and SQLLearning Objectives

• Define and describe the purpose of databases (Lecture a)• Define a relational database (Lecture a)• Describe data modeling and normalization (Lecture b)• Describe the structured query language (SQL) (Lecture c)• Define the basic data operations for relational databases and how to

implement them in SQL (Lecture c)• Design a simple relational database and create corresponding SQL

commands (Lecture c)• Examine the structure of a healthcare database component (Lecture

d)

2Health IT Workforce Curriculum Version 3.0/Spring 2012

Introduction to Information and Computer Science Databases and SQL

Lecture c

SQL

• Used to manage and access database information

• ANSI, ISO and IEC standard– DBMS have custom extensions!

• Extensive language– We’ll look at a few basic commands

3Health IT Workforce Curriculum Version 3.0/Spring 2012

Introduction to Information and Computer Science Databases and SQL

Lecture c

Example

• Make a space for the tables by creating the database– create database <name>

sql> create database contacts• To remove:

– drop database <name>

4Health IT Workforce Curriculum Version 3.0/Spring 2012

Introduction to Information and Computer Science Databases and SQL

Lecture c

Create the Tables

• create table <name> (<column information>);• Column information consists of column names

and data types• Tables also have extra information• To remove:

– drop table <name>

5Health IT Workforce Curriculum Version 3.0/Spring 2012

Introduction to Information and Computer Science Databases and SQL

Lecture c

SQL Basic Data Types

Data Type Description

integer or int Whole numbers

float Floating point number

date Date

time Time

char (length) Fixed number of characters

varchar (length) Variable number of characters

6.14 Table: SQL Basic Data Types (PD-US, 2011).

6Health IT Workforce Curriculum Version 3.0/Spring 2012

Introduction to Information and Computer Science Databases and SQL

Lecture c

Create Company Table

sql> create table company (id integer auto_increment,

-> name varchar(50),

-> address varchar(50),

-> city varchar(50),

-> state char(2),

-> primary key(id));

7Health IT Workforce Curriculum Version 3.0/Spring 2012

Introduction to Information and Computer Science Databases and SQL

Lecture c

Create person table

sql> create table person(id integer auto_increment,

-> first_name varchar(50),

-> last_name varchar(50),

-> company_id integer,

-> primary key(id),

-> foreign key(company_id) references company(id));

8Health IT Workforce Curriculum Version 3.0/Spring 2012

Introduction to Information and Computer Science Databases and SQL

Lecture c

View Tables

6.15 Figure: SQL command and output (PD-US, 2011).

9Health IT Workforce Curriculum Version 3.0/Spring 2012

Introduction to Information and Computer Science Databases and SQL

Lecture c

View Table Columns

6.16 Figure: View table columns (PD-US, 2011).

10Health IT Workforce Curriculum Version 3.0/Spring 2012

Introduction to Information and Computer Science Databases and SQL

Lecture c

Same Basic Operations

• Add an entry• Retrieve an entry• Delete an entry• Modify an entry

11Health IT Workforce Curriculum Version 3.0/Spring 2012

Introduction to Information and Computer Science Databases and SQL

Lecture c

Add an Entry

• Insert into <table> (columns) values (values);

• First add company entries:sql> insert into company (name, address, city, state)

-> values ('Community Hospital, Inc.', '1312 Main', 'Portland', 'OR');

sql> insert into company (name, address, city, state)

-> values ('Oakland Providers LLC', '14 12th St.', 'Oakland', 'CA');

12Health IT Workforce Curriculum Version 3.0/Spring 2012

Introduction to Information and Computer Science Databases and SQL

Lecture c

Add Persons

• Now add people and their associated companies:sql> insert into person (first_name, last_name, company_id)

-> values ('Bill', 'Robeson', 1);

sql> insert into person (first_name, last_name, company_id)

-> values ('Walter', 'Schmidt', 2);

sql> insert into person (first_name, last_name, company_id)

-> values ('Mary', 'Stahl', 2);

sql> insert into person (first_name, last_name, company_id)

-> values ('Albert', 'Brookings', 1);

sql> insert into person (first_name, last_name, company_id)

-> values ('Catherine', 'David', 2);

13Health IT Workforce Curriculum Version 3.0/Spring 2012

Introduction to Information and Computer Science Databases and SQL

Lecture c

Retrieve an Entry

6.17 Figure: Retrieve an entry (PD-US).

14Health IT Workforce Curriculum Version 3.0/Spring 2012

Introduction to Information and Computer Science Databases and SQL

Lecture c

Add Sorting

6.18 Figure: Add sorting (PD-US, 2011).

15Health IT Workforce Curriculum Version 3.0/Spring 2012

Introduction to Information and Computer Science Databases and SQL

Lecture c

Add Selectivity

6.19 Figure: Add selectivity (PD-US, 2011).

16Health IT Workforce Curriculum Version 3.0/Spring 2012

Introduction to Information and Computer Science Databases and SQL

Lecture c

Retrieve from Multiple Tables

6.20 Figure: Retrieve from multiple tables (PD-US, 2011).

17Health IT Workforce Curriculum Version 3.0/Spring 2012

Introduction to Information and Computer Science Databases and SQL

Lecture c

Create a Complex SQL Statement

6.21 Figure: Create a Complex SQL Statement (PD-US, 2011).

18Health IT Workforce Curriculum Version 3.0/Spring 2012

Introduction to Information and Computer Science Databases and SQL

Lecture c

Delete an Entry

• delete from <table> where <constraints>;

• Remove Mary from contact list:sql> delete from person where first_name='Mary' and last_name='Stahl';

1 row affected

19Health IT Workforce Curriculum Version 3.0/Spring 2012

Introduction to Information and Computer Science Databases and SQL

Lecture c

Modify an Entry

• update <table> set <column>=<data> where <constraints>;

20Health IT Workforce Curriculum Version 3.0/Spring 2012

Introduction to Information and Computer Science Databases and SQL

Lecture c

New Company Name

6.22 Figure: Modify company name (PD-US, 2011).

21Health IT Workforce Curriculum Version 3.0/Spring 2012

Introduction to Information and Computer Science Databases and SQL

Lecture c

New Company Name

6.23 Figure: New company name (PD-US, 2011).

22Health IT Workforce Curriculum Version 3.0/Spring 2012

Introduction to Information and Computer Science Databases and SQL

Lecture c

Verify Again

6.24 Figure: Verify again (PD-US, 2011).

23Health IT Workforce Curriculum Version 3.0/Spring 2012

Introduction to Information and Computer Science Databases and SQL

Lecture c

Databases and SQLSummary – Lecture c

• SQL is a language for creating, accessing and updating databases– Create tables– Insert data– Update data– Retrieve (select) data– Delete data

24Health IT Workforce Curriculum Version 3.0/Spring 2012

Introduction to Information and Computer Science Databases and SQL

Lecture c

Databases and SQLReferences – Lecture c

References• Chen, P. P.-S. (1976). The Entity-Relationship Model - Toward a Unified View of Data. ACM Transactions on

Database Systems, 1(1).• International Organization for Standardization. (2008). Information technology -- Database languages -- SQL (No.

ISO/IEC 9075-(1-4,9-11,13,14)).• Kent, W. (1983). A simple guide to five normal forms in relational database theory. Communications of the ACM,

26(2).

Charts, Tables, Figures:• 6.14 Table: SQL Basic Data Types (PD-US, 2011).• 6.15 Figure: View tables (PD-US, 2011). • 6.16 Figure: View table columns (PD-US, 2011). • 6.17 Figure: Retrieve an entry (PD-US, 2011). • 6.18 Figure: Add sorting (PD-US, 2011). • 6.19 Figure: Add selectivity (PD-US, 2011). • 6.20 Figure: Retrieve from multiple tables (PD-US, 2011).• 6.21 Figure: Create a Complex SQL Statement (PD-US, 2011).• 6.22 Figure: Modify company name (PD-US, 2011). • 6.23 Figure: New company name (PD-US, 2011). • 6.24 Figure: Verify again (PD-US, 2011).

25Health IT Workforce Curriculum Version 3.0/Spring 2012

Introduction to Information and Computer Science Databases and SQL

Lecture c

Recommended