Introduction to Relational Databases Obtained from Portland State University.

Slides:



Advertisements
Similar presentations
IMPLEMENTATION OF INFORMATION RETRIEVAL SYSTEMS VIA RDBMS.
Advertisements

Relational Database. Relational database: a set of relations Relation: made up of 2 parts: − Schema : specifies the name of relations, plus name and type.
Database Management Systems, R. Ramakrishnan and J. Gehrke1 The Relational Model Chapter 3.
The Relational Model. Introduction Introduced by Ted Codd at IBM Research in 1970 The relational model represents data in the form of table. Main concept.
Database: A collection of related data [Elmasri]. A database represents some aspect of real world called “miniworld” [Elmasri] or “enterprise” [Ramakrishnan].
Database Management Systems 1 Raghu Ramakrishnan The Relational Model Chapter 3 Instructor: Mirsad Hadzikadic.
The Relational Model Class 2 Book Chapter 3 Relational Data Model Relational Query Language (DDL + DML) Integrity Constraints (IC) (From ER to Relational)
CMPT 354, Simon Fraser University, Fall 2008, Martin Ester 28 Database Systems I The Relational Data Model.
The Relational Model CS 186, Fall 2006, Lecture 2 R & G, Chap. 3.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design Copyright 2000 © John Wiley & Sons, Inc. All rights reserved. Slide 1 Key.
SPRING 2004CENG 3521 The Relational Model Chapter 3.
1 Query Languages: How to build or interrogate a relational database Structured Query Language (SQL)
The Relational Model CS 186, Spring 2007, Lecture 2 Cow book Section 1.5, Chapter 3 Mary Roth.
3-1 Chapter 3 Data and Knowledge Management
1 Relational Model. 2 Relational Database: Definitions  Relational database: a set of relations  Relation: made up of 2 parts: – Instance : a table,
1 Introduction to Database Systems Ref. Ramakrishnan & Gehrke Chapter 1.
IST Databases and DBMSs Todd S. Bacastow January 2005.
1.1 CAS CS 460/660 Introduction to Database Systems Relational Model and more…
The Relational Model These slides are based on the slides of your text book.
The Relational Model. Review Why use a DBMS? OS provides RAM and disk.
 Relational database: a set of relations.  Relation: made up of 2 parts: › Instance : a table, with rows and columns. #rows = cardinality, #fields =
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
Physical Database Design Chapter 6. Physical Design and implementation 1.Translate global logical data model for target DBMS  1.1Design base relations.
Database Organization and Design
Object Persistence (Data Base) Design Chapter 13.
Introduction to Relational Databases
Object Persistence Design Chapter 13. Key Definitions Object persistence involves the selection of a storage format and optimization for performance.
1 The Relational Model. 2 Why Study the Relational Model? v Most widely used model. – Vendors: IBM, Informix, Microsoft, Oracle, Sybase, etc. v “Legacy.
FALL 2004CENG 351 File Structures and Data Management1 Relational Model Chapter 3.
1.1 CAS CS 460/660 Relational Model. 1.2 Review E/R Model: Entities, relationships, attributes Cardinalities: 1:1, 1:n, m:1, m:n Keys: superkeys, candidate.
1 Database Systems ( 資料庫系統 ) October 4, 2005 Lecture #3.
Instructor: Dema Alorini Database Fundamentals IS 422 Section: 7|1.
Introduction to Database Systems1. 2 Basic Definitions Mini-world Some part of the real world about which data is stored in a database. Data Known facts.
The University of Akron Dept of Business Technology Computer Information Systems The Relational Model: Concepts 2440: 180 Database Concepts Instructor:
1 Database Systems ( 資料庫系統 ) October 4/5, 2006 Lecture #3.
The Relational Model Content based on Chapter 3 Database Management Systems, (Third Edition), by Raghu Ramakrishnan and Johannes Gehrke. McGraw Hill, 2003.
12/2/2015CPSC , CPSC , Lecture 41 Relational Model.
Database Indexing 1 After this lecture, you should be able to:  Understand why we need database indexing.  Define indexes for your tables in MySQL. 
Introduction.  Administration  Simple DBMS  CMPT 454 Topics John Edgar2.
CMPT 258 Database Systems The Relationship Model (Chapter 3)
Mining real world data RDBMS and SQL. Index RDBMS introduction SQL (Structured Query language)
The Relational Model Jianlin Feng School of Software SUN YAT-SEN UNIVERSITY.
ICS 421 Spring 2010 Relational Model & Normal Forms Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa 1/19/20101Lipyeow.
CS34311 The Relational Model. cs34312 Why Relational Model? Currently the most widely used Vendors: Oracle, Microsoft, IBM Older models still used IBM’s.
Intro to Database Lecture 1: Course Overview 1. 2 Data analysis in the fight against human trafficking. All of society is online. New York DA use MEMEX.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 The Relational Model Chapter 3.
1 Geog 357: Data models and DBMS. Geographic Decision Making.
Database Management Systems.  Instructor: Yrd. Doç. Dr. Cengiz Örencik   Course material.
Faeez, Franz & Syamim.   Database – collection of persistent data  Database Management System (DBMS) – software system that supports creation, population,
SQL: Interactive Queries (2) Prof. Weining Zhang Cs.utsa.edu.
Advanced Computing Data Bases: Basic concepts Based in part on open access material from: Database Management Systems by Raghu Ramakrishnan and Johannes.
Chapter 3 The Relational Model. Why Study the Relational Model? Most widely used model. Vendors: IBM, Informix, Microsoft, Oracle, Sybase, etc. “Legacy.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 The Relational Model Chapter 3.
SQL Basics Review Reviewing what we’ve learned so far…….
Introduction to Databases & SQL Ahmet Sacan. What you’ll need Firefox, SQLite plugin Mirdb and Targetscan databases.
1 CS122A: Introduction to Data Management Lecture #4 (E-R  Relational Translation) Instructor: Chen Li.
Database Management Systems 1 Raghu Ramakrishnan The Relational Model Chapter 3 Instructor: Xin Zhang.
CENG 351 File Structures and Data Management1 Relational Model Chapter 3.
Introduction to Database Programming with Python Gary Stewart
1 CS122A: Introduction to Data Management Lecture #15: Physical DB Design Instructor: Chen Li.
 Database – collection of persistent data  Database Management System (DBMS) – software system that supports creation, population, and querying of a.
CS 540 Database Management Systems
Storage and Indexes Chapter 8 & 9
CS 186, Fall 2006, Lecture 2 R & G, Chap. 3
Introduction to Relational Databases
Lecture#7: Fun with SQL (Part 2)
The Relational Model Relational Data Model
Database Management System
Database Management System
Presentation transcript:

Introduction to Relational Databases Obtained from Portland State University

Introduction Database – collection of persistent data Database Management System (DBMS) – software system that supports creation, population, and querying of a database Relational Database (RDBMS)– A database structured to recognize relations among stored items of information Structured Query Language – A widely used programming language used with relational databases

Relational Database Relational Database Management System (RDBMS) –Consists of a number of tables and single schema (definition of tables and attributes) –Students (sid, name, login, age, gpa) Students identifies the table sid, name, login, age, gpa identify attributes sid is primary key

An Example Table Students (sid: integer, name: string, login: string, age: integer, gpa: float) sidnameloginagegpa

Another example: Courses Courses (cid, instructor, quarter, dept) cidinstructorquarterdept Carnatic101JaneFall 06Music Reggae203BobSummer 06Music Topology101MarySpring 06Math History105AliceFall 06History

Keys Primary key – minimal subset of fields that is unique identifier for a tuple –sid is primary key for Students –cid is primary key for Courses Foreign key –connections between tables –Courses (cid, instructor, quarter, dept) –Students (sid, name, login, age, gpa) –How do we express which students take each course?

Example Schema (simplified) Courses (cid, instructor, quarter, dept) Students (sid, name, gpa) Enrolled (cid, sid, grade)

Selection SQL Query: select * from Students where gpa > 3.3 Students sidnamegpa 50000Dave Jones Smith Smith Madayan Guldu2.0 sidnamegpa 53666Jones Smith3.8

Another Selection SQL Query: select name, gpa from Students Students Sidnamegpa 50000Dave Jones Smith Smith Madayan Guldu2.0 namegpa Dave3.3 Jones3.4 Smith3.2 Smith3.8 Madayan1.8 Guldu2.0

Another Selection select name, gpa from students where gpa > 3.3 Sidnamegpa 50000Dave Jones Smith Smith Madayan Guldu2.0 namegpa Jones3.4 Smith3.8

Joins Combine information from two or more tables Example: students enrolled in courses: sidnamegpa 50000Dave Jones Smith Smith Madayan Guldu2.0 cidgradesid Carnatic101C53831 Reggae203B53832 Topology112A53650 History 105B53666 Students Enrolled

Joins sidnamegpacidgradestudid 53666Jones3.4History105B Smith3.8Topology112A Madayan1.8Carnatic101C Guldu2.0Reggae203B53832 sidnamegpa 50000Dave Jones Smith Smith Madayan Guldu2.0 cidgradestudid Carnatic101C53831 Reggae203B53832 Topology112A53650 History 105B53666 Students Enrolled

Intro to SQL CREATE TABLE –Create a new table, e.g., students, courses, enrolled SELECT-FROM-WHERE –List all CS courses INSERT –Add a new student, course, or enroll a student in a course

Create Table CREATE TABLE Enrolled (studid CHAR(20), cid CHAR(20), grade CHAR(20), PRIMARY KEY (studid, cid), FOREIGN KEY (studid) references Students)

Select-From-Where query “Find all students who are under 18” SELECT * FROM Students S WHERE S.age < 18

Queries across multiple tables (joins) “Print the student name and course ID where the student received an ‘A’ in the course” SELECT S.name, E.cid FROM Students S, Enrolled E WHERE S.sid = E.studid AND E.grade = ‘A’

Other SQL features MIN, MAX, AVG –Find highest grade in fall database course COUNT, DISTINCT –How many students enrolled in CS courses in the fall? ORDER BY, GROUP BY –Rank students by their grade in fall database course

Views Virtual table defined on base tables defined by a query –Single or multiple tables Security – “hide” certain attributes from users –Show students in each course but hide their grades Ease of use – expression that is more intuitively obvious to user Views can be materialized to improve query performance

Views Suppose we often need names of students who got a ‘B’ in some course: CREATE VIEW B_Students(name, sid, course) AS SELECT S.sname, S.sid, E.cid FROM Students S, Enrolled E WHERE S.sid=E.studid and E.grade = ‘B’ namesidcourse Jones53666History105 Guldu53832Reggae203

Indexes Idea: speed up access to desired data “Find all students with gpa > 3.3 May need to scan entire table Index consists of a set of entries pointing to locations of each search key

Types of Indexes Clustered vs. Unclustered –Clustered- ordering of data records same as ordering of data entries in the index –Unclustered- data records in different order from index Primary vs. Secondary –Primary – index on fields that include primary key –Secondary – other indexes

Example: Clustered Index Sorted by sid sidnamegpa 50000Dave Smith Jones Smith Madayan Guldu

Example: Unclustered Index Sorted by sid Index on gpa sidnamegpa 50000Dave Smith Jones Smith Madayan Guldu

Comments on Indexes Indexes can significantly speed up query execution But inserts more costly May have high storage overhead Need to choose attributes to index wisely! –What queries are run most frequently? –What queries could benefit most from an index? Preview of things to come: SDSS

Summary: Why are RDBMS useful? Data independence – provides abstract view of the data, without details of storage Efficient data access – uses techniques to store and retrieve data efficiently Reduced application development time – many important functions already supported Centralized data administration Data Integrity and Security Concurrency control and recovery

So, why don’t more people use them? “I tried to use databases in my project, but they were just too [slow | hard-to-use | expensive | complex]. So I use files”.

Some other limitations of RDBMS Arrays Hierarchical data

Other Types Of Databases

Flat Files – Ordered or unordered. Often have to search lineraly B-Tree - A particular type of data structure that keeps data sorted in a particular way for faster look ups No-SQL – “Not Only SQL” Data may be stored in a graph, or key/value rather than tabular. Increasingly popular with “Big Data” web applications