©Silberschatz, Korth and Sudarshan3.1Database System Concepts Chapter 3: Relational Model Structure of Relational Databases Relational Algebra Extended.

Slides:



Advertisements
Similar presentations
CS 319: Theory of Databases: C4
Advertisements

Ver 1,12/09/2012Kode :CCs 111,sistem basisdataFASILKOM Chapter 2: Relational Model Database System Concepts, 5th Ed. ©Silberschatz, Korth and Sudarshan.
©Silberschatz, Korth and Sudarshan3.1Database System Concepts Chapter 3: Relational Model Structure of Relational Databases Relational Algebra Tuple Relational.
Chapter 2 Relational Model (part II) Hankz Hankui Zhuo
©Silberschatz, Korth and Sudarshan3.1Database System Concepts Chapter 3: Relational Model Structure of Relational Databases Relational Algebra Extended.
©Silberschatz, Korth and Sudarshan3.1Database System Concepts Chapter 3: Relational Model Structure of Relational Databases Relational Algebra Tuple Relational.
Midterm 2 Revision Prof. Sin-Min Lee Department of Computer Science San Jose State University.
Relational Algebra Lecture 2. Relational Model Basic Notions Fundamental Relational Algebra Operations Additional Relational Algebra Operations Extended.
©Silberschatz, Korth and Sudarshan3.1Database System Concepts Chapter 3: Relational Model Structure of Relational Databases Relational Algebra Extended.
©Silberschatz, Korth and Sudarshan3.1Database System Concepts Chapter 3: Relational Model Structure of Relational Databases Relational Algebra Tuple Relational.
Chapter 3: Relational Model
Database System Concepts, 5 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 2: Relational.
Relational Algebra and SQL Prof. Sin-Min Lee Department of Computer Science San Jose State University.
Relational Algebra Lecture 2. Relational Model Basic Notions Fundamental Relational Algebra Operations Additional Relational Algebra Operations Extended.
SPRING 2004CENG 3521 E-R Diagram for the Banking Enterprise.
Database System Concepts, 5 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 2: Relational.
Midterm 2 Revision Prof. Sin-Min Lee Department of Computer Science San Jose State University.
Slides adapted from A. Silberschatz et al. Database System Concepts, 5th Ed. Relational Model Database Management Systems I Alex Coman, Winter 2006.
Relational Model. 2 Structure of Relational Databases Fundamental Relational-Algebra-Operations Additional Relational-Algebra-Operations Extended Relational-Algebra-Operations.
©Silberschatz, Korth and Sudarshan3.1Database System Concepts Chapter 3: Relational Model Structure of Relational Databases Relational Algebra Tuple Relational.
©Silberschatz, Korth and Sudarshan3.1Database System Concepts Chapter 3: Relational Model Structure of Relational Databases Relational Algebra Tuple Relational.
PMIT-6102 Advanced Database Systems By- Jesmin Akhter Assistant Professor, IIT, Jahangirnagar University.
Database System Concepts, 5 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com 1 Chapter 2: Relational.
©Silberschatz, Korth and Sudarshan2.1Database System Concepts Chapter 2: Relational Model Structure of Relational Databases Relational Algebra.
Chapter 3: Relational Model I Structure of Relational Databases Structure of Relational Databases Convert a ER Design to a Relational Database Convert.
Database System Concepts, 5 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 2: Relational.
1 The Relational Model By Elena Ciriani CS157A February 19, 2004 Professor Lee.
ICOM 5016 – Introduction to Database Systems Lecture 5b Dr. Manuel Rodriguez Department of Electrical and Computer Engineering University of Puerto Rico,
Database System Concepts, 5 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 2: Relational.
CIS552Relational Model1 Structure of Relational Database Relational Algebra Extended Relational-Algebra-Operations Modification of the Database.
3.1Database System Concepts Chapter 3: Relational Model Structure of Relational Databases Relational Algebra Tuple Relational Calculus Domain Relational.
Midterm 2 Revision Prof. Sin-Min Lee Department of Mathematics and Computer Science San Jose State University.
Relational Model By Dr.S.Sridhar, Ph.D.(JNUD), RACI(Paris, NICE), RMR(USA), RZFM(Germany) DIRECTOR ARUNAI ENGINEERING COLLEGE TIRUVANNAMALAI.
Database System Concepts, 5 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Relational Model.
Advanced Database Systems By- Jesmin Akhter Assistant Professor, IIT, Jahangirnagar University.
©Silberschatz, Korth and Sudarshan3.1Database System Concepts Chapter 3: Relational Model Structure of Relational Databases Relational Algebra Extended.
Chapter 2: Relational Model. 2.2 Chapter 2: Relational Model Structure of Relational Databases Fundamental Relational-Algebra-Operations Additional Relational-Algebra-Operations.
Database System Concepts, 6 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 2: Intro to Relational.
©Silberschatz, Korth and Sudarshan2.1Database System Concepts Chapter 2: Relational Model Structure of Relational Databases Relational Algebra.
Chapter 2: Relational Model. 2.2Unite International CollegeDatabase Management Systems Chapter 2: Relational Model Structure of Relational Databases Fundamental.
Chapter 2: Relational Model II Relational Algebra basics Relational Algebra basics.
Computing & Information Sciences Kansas State University Friday, 26 Jan 2008CIS 560: Database System Concepts Lecture 2 of 42 Friday, 29 August 2008 William.
2.1 Chapter 2: Relational Model. 2.2 Chapter 2: Relational Model Structure of Relational Databases Fundamental Relational-Algebra-Operations Additional.
Source: Database System Concepts, Silberschatz etc Edited: Wei-Pang Yang, IM.NDHU, Introduction to Database CHAPTER 2 RELATIONAL MODEL 2.1.
Database System Concepts, 5 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 2: Relational.
Database System Concepts, 5 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 2: Relational.
Midterm 2 Revision Prof. Sin-Min Lee Department of Computer Science San Jose State University.
Database System Concepts, 5 th Ed. Bin Mu at Tongji University Chapter 2: Relational Model.
Computing & Information Sciences Kansas State University Wednesday, 03 Sep 2008CIS 560: Database System Concepts Lecture 3 of 42 Wednesday, 03 September.
©Silberschatz, Korth and Sudarshan3.1Database System Concepts Week 3: Relational Model Structure of Relational Databases Relational Algebra Extended Relational-Algebra-Operations.
ICOM 5016 – Introduction to Database Systems Lecture 6 Dr. Manuel Rodriguez Department of Electrical and Computer Engineering University of Puerto Rico,
Chapter 3: Relational Model  Structure of Relational Databases  Normal forms (chap. 7)  Reduction of an E-R Schema to Relational (Sect. 2.9)  Relational.
Database System Concepts, 5 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 2: Relational.
ASET Relational Algebra continues…. ASET Rename Operation Allows us to name, and therefore to refer to, the results of relational-algebra expressions.
Database System Concepts, 5 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 2: Relational.
IS 230Lecture 7Slide 1 Relational Algebra Lecture 8 Text Book – Chapter.
Chapter 3: Relational Model III Additional Relational Algebra Operations Additional Relational Algebra Operations Views Views.
International Computer Institute, Izmir, Turkey Relational Model Asst.Prof.Dr.İlker Kocabaş UBİ502 at
Database System Concepts, 6 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 2: Intro to Relational.
©Silberschatz, Korth and Sudarshan3.1Database System Concepts Chapter 3: Relational Model Structure of Relational Databases Relational Algebra Tuple Relational.
PMIT-6102 Advanced Database Systems By- Jesmin Akhter Assistant Professor, IIT, Jahangirnagar University.
Query Languages Language in which user requests information from the database. Categories of languages Procedural Non-procedural, or declarative “Pure”
Database System Concepts, 5 th Ed. ©Silberschatz, Korth and Sudarshan Chapter 2: Relational Model.
Database System Concepts, 6 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 6: Formal Relational.
International Computer Institute, Izmir, Turkey Relational Model Asst.Prof.Dr.İlker Kocabaş UBİ502 at
Midlands State University Topic: Relational DB Model
Relational Model By Dr.S.Sridhar, Ph.D.(JNUD), RACI(Paris, NICE), RMR(USA), RZFM(Germany)
Chapter 2: Relational Model
Lecture 4 of 42 Relational Joins Wednesday, 30 January 2008
Relational Model B.Ramamurthy 5/28/2019 B.Ramamurthy.
Presentation transcript:

©Silberschatz, Korth and Sudarshan3.1Database System Concepts Chapter 3: Relational Model Structure of Relational Databases Relational Algebra Extended Relational-Algebra-Operations Modification of the Database Views

©Silberschatz, Korth and Sudarshan3.2Database System Concepts Introduction Relation  A table of values  Each column in the table has a column header called an attribute  Each row is called a tuple Loosely speaking, represents the databases as a collection of relations and constraints Relational database consists of a collection of tables

©Silberschatz, Korth and Sudarshan3.3Database System Concepts Example of a Relation

©Silberschatz, Korth and Sudarshan3.4Database System Concepts Basic Structure Formally, given sets D 1, D 2, …. D n, a relation r is a subset of D 1 x D 2 x … x D n Thus a relation is a set of n-tuples (a 1, a 2, …, a n ) where a i  D i Example: ifcustomer-name = {Jones, Smith, Curry, Lindsay} customer-street = {Main, North, Park} customer-city = {Harrison, Rye, Pittsfield} Then r = { (Jones, Main, Harrison), (Smith, North, Rye), (Curry, North, Rye), (Lindsay, Park, Pittsfield)} is a relation over customer-name x customer-street x customer-city

©Silberschatz, Korth and Sudarshan3.5Database System Concepts Attribute Types Each attribute of a relation has a name Domain of the attribute : The set of allowed values for each attribute Attribute values are (normally) required to be atomic (i.e. indivisible)  Multivalued attribute values, Composite attribute values  not atomic The special value null is a member of every domain The null value causes complications in the definition of many operations (  we shall ignore the effect of null values in our main presentation and consider their effect later)

©Silberschatz, Korth and Sudarshan3.6Database System Concepts Relation Schema A 1, A 2, …, A n are attributes R = (A 1, A 2, …, A n ) is a relation schema E.g. Customer-schema = (customer-name, customer-street, customer-city) r(R) is a relation on the relation schema R E.g. customer (Customer-schema)

©Silberschatz, Korth and Sudarshan3.7Database System Concepts Relation Instance The current values (relation instance) of a relation are specified by a table Order of tuples is irrelevant Jones Smith Curry Lindsay customer-name Main North Park customer-street Harrison Rye Pittsfield customer-city customer attributes tuples

©Silberschatz, Korth and Sudarshan3.8Database System Concepts Database A database consists of multiple relations Information about an enterprise is broken up into parts, with each relation storing one part of the information E.g.: ‘bank’ database account : stores information about accounts depositor : stores information about which customer owns which account customer : stores information about customers Storing all information as a single relation   repetition of information (e.g. two customers own an account)  the need for null values (e.g. represent a customer without an account) Normalization theory deals with how to design relational schemas  Chapter 7

©Silberschatz, Korth and Sudarshan3.9Database System Concepts Customer Relation

©Silberschatz, Korth and Sudarshan3.10Database System Concepts Keys Let K  R K is a superkey of R if values for K are sufficient to identify a unique tuple of each possible relation r(R) by “possible r” Example: {customer-name, customer-street} and {customer-name} are both superkeys of Customer, if no two customers can possibly have the same name. K is a candidate key if K is minimal Example: {customer-name}  candidate key

©Silberschatz, Korth and Sudarshan3.11Database System Concepts Determining Keys from E-R Sets Strong entity set: The primary key of the entity set becomes the primary key of the relation. Weak entity set: The primary key of the strong entity set + the discriminator of the weak entity set. Relationship set: The union of the primary keys of the related entity sets becomes a superkey of the relation.  Binary many-to-one relationship sets  the primary key of the ‘many’ entity set becomes the relation’s primary key.  One-to-one relationship sets  primary key of either entity set.  Many-to-many relationship sets  union of the primary keys

©Silberschatz, Korth and Sudarshan3.12Database System Concepts E-R Diagram for the Banking Enterprise

©Silberschatz, Korth and Sudarshan3.13Database System Concepts Schema Diagram for the Banking Enterprise Foreign key

©Silberschatz, Korth and Sudarshan3.14Database System Concepts Query Languages Language in which user requests information from the database. Categories of languages  Procedural  Nonprocedural “Pure” languages  Relational Algebra  Tuple Relational Calculus  Domain Relational Calculus Pure languages form underlying basis of query languages that people use.

©Silberschatz, Korth and Sudarshan3.15Database System Concepts Relational Algebra Procedural language Six basic operators  select  project  union  set difference  Cartesian product  rename The operators take two or more relations as inputs and give a new relation as a result.

©Silberschatz, Korth and Sudarshan3.16Database System Concepts Select Operation Notation:  p (r) p is called the selection predicate Defined as:  p ( r) = {t | t  r and p(t)} where p is a formula in propositional calculus consisting of terms connected by :  (and),  (or),  (not) Each term is one of: op or where op is one of: =, , >, , <,  Example of selection:  branch-name=“Perryridge ” (account)

©Silberschatz, Korth and Sudarshan3.17Database System Concepts Example Relation r ABCD    A=B ^ D > 5 (r) ABCD  

©Silberschatz, Korth and Sudarshan3.18Database System Concepts Project Operation Notation:  A1, A2, …, Ak (r) where A 1, A 2 are attribute names and r is a relation name. The result is defined as the relation of k columns obtained by erasing the columns that are not listed Duplicate rows removed from result, since relations are sets E.g. To eliminate the branch-name attribute of account  account-number, balance (account)

©Silberschatz, Korth and Sudarshan3.19Database System Concepts Example Relation r: ABC  AC   AC   A,C (r)

©Silberschatz, Korth and Sudarshan3.20Database System Concepts Union Operation Notation: r  s Defined as: r  s = {t | t  r or t  s} For r  s to be valid. 1. r, s must have the same arity (i.e. same number of attributes) 2. The attribute domains must be compatible (i.e. the domains of the ith attribute of r and the ith attribute of s must be the same) E.g. to find all customers with either an account or a loan  customer-name (depositor)   customer-name (borrower)

©Silberschatz, Korth and Sudarshan3.21Database System Concepts Example Relations r, s: r  s: AB  AB  2323 r s AB 

©Silberschatz, Korth and Sudarshan3.22Database System Concepts Set Difference Operation Notation r – s Defined as: r – s = {t | t  r and t  s} Set differences must be taken between compatible relations.  r and s must have the same arity  Attribute domains of r and s must be compatible

©Silberschatz, Korth and Sudarshan3.23Database System Concepts Example Relations r, s: r – s : AB  AB  2323 r s AB  1111

©Silberschatz, Korth and Sudarshan3.24Database System Concepts Cartesian-Product Operation Notation r x s Defined as: r x s = {t q | t  r and q  s} Assume that attributes of r(R) and s(S) are disjoint. (That is, R  S =  ). If attributes of r(R) and s(S) are not disjoint, then renaming must be used.

©Silberschatz, Korth and Sudarshan3.25Database System Concepts Example Relations r, s: r x s: AB  1212 AB  CD  E aabbaabbaabbaabb CD  E aabbaabb r s

©Silberschatz, Korth and Sudarshan3.26Database System Concepts Composition of Operations Can build expressions using multiple operations Example:  A=C (r x s) r x s  A=C (r x s) AB  CD  E aabbaabbaabbaabb ABCDE   20 aabaab

©Silberschatz, Korth and Sudarshan3.27Database System Concepts Rename Operation Allows us to name, and therefore to refer to, the results of relational-algebra expressions. Allows us to refer to a relation by more than one name. Example:  x (E) returns the expression E under the name X If a relational-algebra expression E has arity n, then  x (A1, A2, …, An) (E) returns the result of expression E under the name X, and with the attributes renamed to A 1, A2, …., An.

©Silberschatz, Korth and Sudarshan3.28Database System Concepts Formal Definition A basic expression in the relational algebra consists of either one of the following:  A relation in the database  A constant relation Let E 1 and E 2 be relational-algebra expressions; the following are all relational-algebra expressions:  E 1  E 2  E 1 - E 2  E 1 x E 2   p (E 1 ), P is a predicate on attributes in E 1   s (E 1 ), S is a list consisting of some of the attributes in E 1   x (E 1 ), x is the new name for the result of E 1

©Silberschatz, Korth and Sudarshan3.29Database System Concepts Additional Operations Set intersection Natural join Division Assignment

©Silberschatz, Korth and Sudarshan3.30Database System Concepts Set-Intersection Operation Notation: r  s Defined as: r  s ={ t | t  r and t  s } Assume:  r, s have the same arity  attributes of r and s are compatible Note: r  s = r - (r - s)

©Silberschatz, Korth and Sudarshan3.31Database System Concepts Example Relation r, s: r  s A B   2323 r s  2

©Silberschatz, Korth and Sudarshan3.32Database System Concepts Natural-Join Operation Notation: r s The result is a relation on schema R  S which is obtained by considering each pair of tuples t r from r and t s from s.  If t r and t s have the same value on each of the attributes in R  S, a tuple t is added to the result, where  t has the same value as t r on r  t has the same value as t s on s Example: R = (A, B, C, D) S = (E, B, D) Result schema = (A, B, C, D, E) r s is defined as:  r.A, r.B, r.C, r.D, s.E (  r.B = s.B r.D = s.D (r x s))

©Silberschatz, Korth and Sudarshan3.33Database System Concepts Example Relations r, s: AB  CD  aababaabab B D aaabbaaabb E  r AB  CD  aaaabaaaab E  s r s

©Silberschatz, Korth and Sudarshan3.34Database System Concepts Division Operation Suited to queries that include the phrase “for all”. Let r and s be relations on schemas R and S respectively where  R = (A 1, …, A m, B 1, …, B n )  S = (B 1, …, B n ) The result of r  s is a relation on schema R – S = (A 1, …, A m ) Definition in terms of the basic algebra operation Let r(R) and s(S) be relations, and let S  R r  s =  R-S (r) –  R-S ( (  R-S (r) x s) –  R-S,S (r))

©Silberschatz, Korth and Sudarshan3.35Database System Concepts Example 1 Relations r, s: r  s:r  s: A B  1212 AB  r s

©Silberschatz, Korth and Sudarshan3.36Database System Concepts Example 2 AB  aaaaaaaaaaaaaaaa CD  aabababbaabababb E Relations r, s: r  s:r  s: D abab E 1111 AB  aaaa C  r s

©Silberschatz, Korth and Sudarshan3.37Database System Concepts Assignment Operation The assignment operation (  ) provides a convenient way to express complex queries. Assignment must always be made to a temporary relation variable. Example: Write r  s as temp1   R-S (r) temp2   R-S ((temp1 x s) –  R-S,S (r)) result = temp1 – temp2  The result to the right of the  is assigned to the relation variable on the left of the .  The relation variable may be used in subsequent expressions.

©Silberschatz, Korth and Sudarshan3.38Database System Concepts Example branch (branch-name, branch-city, assets) customer (customer-name, customer-street, customer-only) account (account-number, branch-name, balance) loan (loan-number, branch-name, amount) depositor (customer-name, account-number) borrower (customer-name, loan-number)

©Silberschatz, Korth and Sudarshan3.39Database System Concepts Example Queries Find all loans of over $1200  amount > 1200 (loan) Find the loan number for each loan of an amount greater than $1200  loan-number (  amount > 1200 (loan)) Find the names of all customers who have a loan and an account at bank.  customer-name (borrower)   customer-name (depositor)

©Silberschatz, Korth and Sudarshan3.40Database System Concepts Example Queries Find the names of all customers who have a loan at the Perryridge branch.  customer-name (  branch-name=“Perryridge ” (  borrower.loan-number = loan.loan-number (borrower x loan))) Find the names of all customers who have a loan at the Perryridge branch but do not have an account at any branch of the bank.  customer-name (  branch-name = “Perryridge” (  borrower.loan-number = loan.loan-number ( borrower x loan ))) –  customer-name ( depositor )

©Silberschatz, Korth and Sudarshan3.41Database System Concepts Example Queries Find the largest account balance Rename account relation as d The query is:  balance (account) -  account.balance (  account.balance < d.balance (account x  d (account)))

©Silberschatz, Korth and Sudarshan3.42Database System Concepts Example Queries Find all customers who have an account from at least the “Downtown” and the Uptown” branches.  Query 1  CN (  BN=“Downtown ” (depositor account))   CN (  BN=“Uptown ” (depositor account)) where CN denotes customer-name and BN denotes branch-name.  Query 2  customer-name, branch-name (depositor account)   temp(branch-name ) ({(“Downtown”), (“Uptown”)})

©Silberschatz, Korth and Sudarshan3.43Database System Concepts Find all customers who have an account at all branches located in Brooklyn city.  customer-name, branch-name (depositor account)   branch-name (  branch-city = “Brooklyn” (branch)) Example Queries