Example of a Relation attributes (or columns) ID name dept. name salary 10101 Srinivasan Comp.Sci. 65000 12121 Wu Finance 90000 tuples 15151 Mozart Music 40000 (or rows) 22222 Einstein Physics 95000 32343 El Said History 60000 33456 Gold Physics 87000 45565 Katz Comp.Sci. 75000 58583 Califieri History 62000 76543 Singh Finance 80000 76766 Crick Biology 72000 83821 Brandt Comp.Sci. 92000 98345 Kim Elec.Eng. 80000 Database System Concepts-6th Edition 2.2 ©Silberschat乜,Korth and Sudarshan
Database System Concepts - 6 2.2 ©Silberschatz, Korth and Sudarshan th Edition Example of a Relation attributes (or columns) tuples (or rows)
Attribute Types The set of allowed values for each attribute is called the domain of the attribute Attribute values are(normally)required to be atomic;that is, indivisible The special value null is a member of every domain.Indicated that the value is "unknown The null value causes complications in the definition of many operations Database System Concepts-6th Edition 2.3 @Silberschatz,Korth and Sudarshan
Database System Concepts - 6 2.3 ©Silberschatz, Korth and Sudarshan th Edition Attribute Types The set of allowed values for each attribute is called the domain of the attribute Attribute values are (normally) required to be atomic; that is, indivisible The special value null is a member of every domain. Indicated that the value is “unknown” The null value causes complications in the definition of many operations
Relation Schema and Instance A1,A2,...,An are attributes R=(A1,A2,...,An)is a relation schema Example: instructor =(ID,name,dept_name,salary) Formally,given sets D1,D2,...Dn a relation r is a subset of D X D2 X ..X Dn Thus,a relation is a set of n-tuples(a,a2,...,a)where each a;e D The current values(relation instance)of a relation are specified by a table An element t of r is a tuple,represented by a row in a table Database System Concepts-6th Edition 2.4 ©Silberschat乜,Korth and Sudarshan
Database System Concepts - 6 2.4 ©Silberschatz, Korth and Sudarshan th Edition Relation Schema and Instance A1 , A2 , …, An are attributes R = (A1 , A2 , …, An ) is a relation schema Example: instructor = (ID, name, dept_name, salary) Formally, given sets D1 , D2 , …. Dn a relation r is a subset of D1 x D2 x … x Dn Thus, a relation is a set of n-tuples (a1 , a2 , …, an ) where each ai Di The current values (relation instance) of a relation are specified by a table An element t of r is a tuple, represented by a row in a table
Relations are Unordered Order of tuples is irrelevant(tuples may be stored in an arbitrary order) Example:instructor relation with unordered tuples ID name dept name salary 22222 Einstein Physics 95000 12121 Wu Finance 90000 32343 El Said History 60000 45565 Katz Comp.Sci. 75000 98345 Kim Elec.Eng. 80000 76766 Crick Biology 72000 10101 Srinivasan Comp.Sci. 65000 58583 Califieri History 62000 83821 Brandt Comp.Sci. 92000 15151 Mozart Music 40000 33456 Gold Physics 87000 76543 Singh Finance 80000 Database System Concepts-6th Edition 2.5 ©Silberschat乜,Korth and Sudarshan
Database System Concepts - 6 2.5 ©Silberschatz, Korth and Sudarshan th Edition Relations are Unordered Order of tuples is irrelevant (tuples may be stored in an arbitrary order) Example: instructor relation with unordered tuples
Keys Let KcR K is a superkey of R if values for K are sufficient to identify a unique tuple of each possible relation r(R) Example:{ID}and {ID,name}are both superkeys of instructor. Superkey K is a candidate key if K is minimal Example:{ID}is a candidate key for Instructor One of the candidate keys is selected to be the primary key. which one? Foreign key constraint:Value in one relation must appear in another Referencing relation Referenced relation Example-dept name in instructor is a foreign key from instructor referencing department Database System Concepts-6th Edition 2.6 @Silberschatz,Korth and Sudarshan
Database System Concepts - 6 2.6 ©Silberschatz, Korth and Sudarshan th Edition 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) Example: {ID} and {ID,name} are both superkeys of instructor. Superkey K is a candidate key if K is minimal Example: {ID} is a candidate key for Instructor One of the candidate keys is selected to be the primary key. which one? Foreign key constraint: Value in one relation must appear in another Referencing relation Referenced relation Example – dept_name in instructor is a foreign key from instructor referencing department
Schema Diagram for University Database takes student ID ID course id nattte sec id dept name tot cred semester year grade section course course i讯 course id depariment advisor sec id title semester dept name s过 dept name year building 证 credits building time slot budget room ro time slot id time slot id day start time end time prereq instructor classroom course id 坦 buildin逸g 2rg过 name room no dept name capacity teaches salary ID se词 sec id semester year Database System Concepts-6th Edition 2.7 ©Silberschat乜,Korth and Sudarshan
Database System Concepts - 6 2.7 ©Silberschatz, Korth and Sudarshan th Edition Schema Diagram for University Database
Relational Query Languages Procedural vs .non-procedural,or declarative “Pure”languages: Relational algebra Tuple relational calculus Domain relational calculus The above 3 pure languages are equivalent in computing power We will concentrate in this chapter on relational algebra Not turning-machine equivalent consists of 6 basic operations Database System Concepts-6th Edition 2.8 @Silberschatz,Korth and Sudarshan
Database System Concepts - 6 2.8 ©Silberschatz, Korth and Sudarshan th Edition Relational Query Languages Procedural vs .non-procedural, or declarative “Pure” languages: Relational algebra Tuple relational calculus Domain relational calculus The above 3 pure languages are equivalent in computing power We will concentrate in this chapter on relational algebra Not turning-machine equivalent consists of 6 basic operations
Select Operation-selection of rows (tuples) Relation r A B CD X C 1 7 B 5 3 B 23 10 ■OA=BD>5(C) AB CD X 1 7 B B 2310 Database System Concepts-6th Edition 2.9 ©Silberschat乜,Korth and Sudarshan
Database System Concepts - 6 2.9 ©Silberschatz, Korth and Sudarshan th Edition Select Operation – selection of rows (tuples) Relation r A=B ^ D > 5 (r)
Project Operation-selection of columns (Attributes) Relation r. AB C X 10 1 X 20 1 1 B 40 2 ΠAc(r) AC AC X 1 C 1 1 二 2 2 Database System Concepts-6th Edition 2.10 @Silberschatz,Korth and Sudarshan
Database System Concepts - 6 2.10 ©Silberschatz, Korth and Sudarshan th Edition Project Operation – selection of columns (Attributes) Relation r: A,C (r)
Union of two relations Relations r,s. AB A B 1 2 C 2 B 3 B 1 S r rus: A B C 1 C 2 3 Database System Concepts-6th Edition 2.11 @Silberschatz,Korth and Sudarshan
Database System Concepts - 6 2.11 ©Silberschatz, Korth and Sudarshan th Edition Union of two relations Relations r, s: r s: