02 - The Relational Database Model

Slides:



Advertisements
Similar presentations
Chapter 3 : Relational Model
Advertisements

Keys  SuperKey  a set of attributes whose values together uniquely identify a tuple in a relation  Candidate Key  a superkey for which no proper subset.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 3 The Basic (Flat) Relational Model.
Chapter 3. 2 Chapter 3 - Objectives Terminology of relational model. Terminology of relational model. How tables are used to represent data. How tables.
Relational Model and Relational Algebra Rose-Hulman Institute of Technology Curt Clifton.
Lecture 2 The Relational Model. Objectives Terminology of relational model. How tables are used to represent data. Connection between mathematical relations.
Chapter 4 The Relational Model Pearson Education © 2014.
© Pearson Education Limited, Chapter 2 The Relational Model Transparencies.
Relational Model Session 6 Course Name: Database System Year : 2012.
Data Models Amandeep Kaur Lecturer GPC Khunimajra Call at
Content Resource- Elamsari and Navathe, Fundamentals of Database Management systems.
Relational Data Model. A Brief History of Data Models  1950s file systems, punched cards  1960s hierarchical  IMS  1970s network  CODASYL, IDMS 
THE RELATIONAL DATA MODEL CHAPTER 3 (6/E) CHAPTER 5 (5/E) 1.
Database Management COP4540, SCS, FIU Relational Model Chapter 7.
Instructor: Churee Techawut Basic Concepts of Relational Database Chapter 5 CS (204)321 Database System I.
DBSQL 3-1 Copyright © Genetic Computer School 2009 Chapter 3 Relational Database Model.
Chapter 3 The Relational Model. 2 Chapter 3 - Objectives u Terminology of relational model. u How tables are used to represent data. u Connection between.
Database System Concepts, 6 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 2: Intro to Relational.
Chapter 2 Adapted from Silberschatz, et al. CHECK SLIDE 16.
Chapter 6 The Relational Data Model and the Relational Algebra.
9/7/2012ISC329 Isabelle Bichindaritz1 The Relational Database Model.
1 The Relational Model. 2 Why Study the Relational Model? v Most widely used model. – Vendors: IBM, Informix, Microsoft, Oracle, Sybase, etc. v “Legacy.
Relational Data Model Ch. 7.1 – 7.3 John Ortiz Lecture 3Relational Data Model2 Why Study Relational Model?  Most widely used model.  Vendors: IBM,
Slide Chapter 5 The Relational Data Model and Relational Database Constraints.
Prepared By Prepared By : VINAY ALEXANDER ( विनय अलेक्सजेंड़र ) PGT(CS),KV JHAGRAKHAND.
Database System Concepts, 6 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 2: Intro to Relational.
Chapter 2 Introduction to Relational Model. Example of a Relation attributes (or columns) tuples (or rows) Introduction to Relational Model 2.
Chapter 2: Intro to Relational Model. 2.2 Example of a Relation attributes (or columns) tuples (or rows)
1 CS 430 Database Theory Winter 2005 Lecture 4: Relational Model.
CSE314 Database Systems Lecture 3 The Relational Data Model and Relational Database Constraints Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E Pearson.
The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.
CS34311 The Relational Model. cs34312 Why Relational Model? Currently the most widely used Vendors: Oracle, Microsoft, IBM Older models still used IBM’s.
The Relational Model © Pearson Education Limited 1995, 2005 Bayu Adhi Tama, M.T.I.
The relational model1 The relational model Mathematical basis for relational databases.
Database System Concepts, 6 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 2: Intro to Relational.
Chapter 3 The Relational Model. Objectives u Terminology of relational model. u How tables are used to represent data. u Connection between mathematical.
LECTURE TWO Introduction to Databases: Data models Relational database concepts Introduction to DDL & DML.
1 The Relational Data Model David J. Stucki. Relational Model Concepts 2 Fundamental concept: the relation  The Relational Model represents an entire.
Module 2: Intro to Relational Model
Introduction to Relational Model
Chapter 2: Relational Model
RELATION.
Chapter 2: Intro to Relational Model
CIS 207 The Relational Database Model
Lecture # 13 (After 1st Exam)
Chapter 3: Intro to Relational Model
Chapter 2: Intro to Relational Model
Chapter 2: Intro to Relational Model
Chapter 2: Intro to Relational Model
Translation of ER-diagram into Relational Schema
Chapter 2: Intro to Relational Model
The Relational Database Model
Data Base System Lecture 6: Relational Model
Chapter 4 The Relational Model Pearson Education © 2009.
The Relational Data Model and Relational Database Constraints
Chapter 4 The Relational Model Pearson Education © 2009.
Chapter 4 The Relational Model Pearson Education © 2009.
The Relational Model Transparencies
RDBMS RELATIONAL DATABASE MANAGEMENT SYSTEM.
Chapter 4 The Relational Model Pearson Education © 2009.
Chapter 4 The Relational Model Pearson Education © 2009.
Chapter 2: Intro to Relational Model
Chapter 2: Intro to Relational Model
Example of a Relation attributes (or columns) tuples (or rows)
Design tools and techniques for a relational database system
Chapter 2: Intro to Relational Model
Chapter 2: Intro to Relational Model
Chapter 4 The Relational Model Pearson Education © 2009.
Chapter 3 The Relational Model
RELATIONAL DATA MODEL - 1
Presentation transcript:

02 - The Relational Database Model

In this Section… Topics Covered Related Topics The basics of the relational model in the context of the Database design Related Topics Entity Relationship Modelling Relational Query Languages like SQL.

A Brief History of Data Models 1950s file systems, punched cards 1960s hierarchical IMS 1970s network CODASYL, IDMS 1980s relational INGRES, ORACLE, DB2, Sybase Paradox, dBase 1990s object oriented and object relational O2, GemStone, Ontos

Database Overview – White-Board We store info as Lists People / Lab Marks / Exam Marks We can define the lists more formally with attributes. Surname / Firstname / mark We can convert these lists to tables We can have multiple tables We can join Tables IDs Keys (Primary, Foreign, Unique) We can MODEL this using ER (Lecture 3) Modelling can show inconsistencies

Relational Model Sets Mappings collections of items of the same type no order no duplicates Mappings domain range 1:many many:1 1:1 many:many Two sets Domain range Onbe to many Many to one One to one Many to many

COURSE Courseno Subject Lecturer Machine CS250 Programming Lindsey Sun Graphics Hubbold CS270 Micros Woods PC CS290 Verification Barringer Table descri ing a course Get students to do it

Relational Model Notes no duplicate tuples in a relation a relation is a set of tuples no ordering of tuples in a relation a relation is a set attributes of a relation have an implied ordering but used as functions and referenced by name, not position every tuple must have attribute values drawn from all of the domains of the relation or the special value NULL all a domain’s values and hence attribute’s values are atomic.

Comparative Terms Formal Oracle Relation schema Table description Relation Table Tuple Row Attribute Column Domain Value set Notation Course (courseno, subject, equipment) Student(studno,name,hons) Enrol(studno,courseno,labmark)

Keys SuperKey Candidate Key Primary Key Keys can be composite a set of attributes whose values together uniquely identify a tuple in a relation Candidate Key a superkey for which no proper subset is a superkey…a key that is minimal . Can be more than one for a relation Primary Key a candidate key chosen to be the main key for the relation. One for each relation Keys can be composite

Foreign Key a set of attributes in a relation that exactly matches a (primary) key in another relation the names of the attributes don’t have to be the same but must be of the same domain a foreign key in a relation A matching a primary key in a relation B represents a many:one relationship between A and B Student(studno,name,tutor,year) Staff(lecturer,roomno,appraiser)

Referential Integrity Student(studno,name,tutor,year) Staff(lecturer,roomno,appraiser) CASCADE delete all matching foreign key tuples eg. STUDENT RESTRICT can’t delete primary key tuple STAFF whilst a foreign key tuple STUDENT matches NULLIFY foreign key STUDENT.tutor set to null if the foreign key ids allowed to take on null

Entity Integrity and Nulls No part of a key can be null Attribute values Atomic Known domain Sometimes can be null THREE categories of null values 1. Not applicable 2. Not known 3. Absent (not recorded) STUDENT

Relational Model General Simple Flexible Easy to query declaratively without programming But..... Good design essential Integrity essential Poor semantics Relationships based on ‘value-matching’

Relational Design Splitting up this tqble Small tables of student, tutor and course and mark Functional dependencies

Informal guidelines Semantics of the attributes easy to explain relation doesn’t mix concepts Reducing the redundant values in tuples Choosing attribute domains that are atomic Reducing the null values in tuples Disallowing spurious tuples

Additional Information Enclosed Definitions Other Chapter 2 R.L. Warrender, Databases (Computing Study Texts), ISBN: 1903337089. Chapter 1 Earp, Bagui, Learning Sql:a Step-by-Step Guide Using Oracle. This is copyright information. The copyright belongs to the author. This material will NOT be on the Web site.

Background

Definitions Cartesian Product The cartesian product () between n sets is the set of all possible combinations of the elements of those sets. Domain set of all possible values for an attribute; for attribute A, the domain is represented as dom(A). A domain has a format and a base data type. Relation Schema denoted by R(A1, A2, …, An), is made up of relation name R and list of attributes A1, A2, …, An. Relation a subset of the cartesian product of its domains. Given a relation schema R, a relation on that schema r, a set of attributes A1..An for that relation then r(R)  (dom(A1)  dom(A2)  ...  dom(An)) Attribute a function on a domain for each instance of the mapping or tuple Attribute Value the result of the attribute function. Each instance of the mapping is represented by one attribute value drawn from each domain or a special NULL value. Given a tuple t and an attribute A for a relation r, t[A]--> a, where a is the attribute’s value for that tuple.

(N)-tuple a set of (n) attribute-value pairs representing a single instance of a relation’s mapping between its domains. Degree the number of attributes a relation has. Cardinality a number of tuples a relation has. Roles several attributes can have the same domain; the attributes indicate different roles in the relation. Key (SuperKey) a set of attributes whose values together uniquely identify every tuple in a relation. Let t1 and t2 be two tuples on relation r of relation schema R, and sk be a set of attributes whose values are the key for the relation schema R, then t1[sk]  t2[sk]. (Candidate) Key a (super)key that is minimal, i.e. has no proper subsets that still uniquely identify every tuple in a relation. There can be several for one relation. Primary Key a candidate key chosen to be the main key for the relation. There is only one for each relation. Foreign Key a candidate key of relation A situated in relation B. Database a set of relations.