Silberschatz Korth Sudarshan: Database System Concepts, Fourth Edition in Software
Silberschatz Korth Sudarshan: Database System Concepts, Fourth Edition USS Code 128 Creation In None Using Barcode encoder for Software Control to generate, create Code128 image in Software applications. Decoding Code128 In None Using Barcode recognizer for Software Control to read, scan read, scan image in Software applications. I Data Models
Code 128C Maker In C# Using Barcode maker for .NET framework Control to generate, create Code 128 Code Set A image in .NET framework applications. Encode Code 128 Code Set B In .NET Using Barcode generation for ASP.NET Control to generate, create Code 128 image in ASP.NET applications. 3 Relational Model
Code 128 Code Set A Creation In .NET Framework Using Barcode creation for .NET framework Control to generate, create ANSI/AIM Code 128 image in .NET applications. Generate USS Code 128 In Visual Basic .NET Using Barcode creator for .NET framework Control to generate, create ANSI/AIM Code 128 image in .NET framework applications. The McGraw Hill Companies, 2001 EAN / UCC  13 Drawer In None Using Barcode printer for Software Control to generate, create USS128 image in Software applications. Make Barcode In None Using Barcode generation for Software Control to generate, create bar code image in Software applications. The Relational Algebra
Bar Code Printer In None Using Barcode printer for Software Control to generate, create bar code image in Software applications. Generating Code 128 Code Set A In None Using Barcode drawer for Software Control to generate, create USS Code 128 image in Software applications. balance 900 Figure 318 Largest account balance in the bank
Creating Code39 In None Using Barcode drawer for Software Control to generate, create Code 39 Full ASCII image in Software applications. UPCA Supplement 2 Creator In None Using Barcode maker for Software Control to generate, create UPC Code image in Software applications. We can now write the temporary relation that consists of the balances that are not the largest: accountbalance ( accountbalance USPS Confirm Service Barcode Printer In None Using Barcode creator for Software Control to generate, create USPS PLANET Barcode image in Software applications. Printing Code 128A In C# Using Barcode generation for .NET framework Control to generate, create ANSI/AIM Code 128 image in .NET framework applications. < dbalance
Recognize Data Matrix In .NET Using Barcode scanner for .NET Control to read, scan read, scan image in VS .NET applications. barcode ean 128 excel Using Barcode drawer for Microsoft Excel Control to generate, create EAN / UCC  13 image in Office Excel applications. free barcode generator software excel barcode ean 128 excel (account d (account))) Draw DataMatrix In Java Using Barcode creation for Android Control to generate, create Data Matrix image in Android applications. Decode UPCA Supplement 5 In None Using Barcode decoder for Software Control to read, scan read, scan image in Software applications. This expression gives those balances in the account relation for which a larger balance appears somewhere in the account relation (renamed as d) The result contains all balances except the largest one Figure 317 shows this relation Step 2: The query to nd the largest account balance in the bank can be written as: balance (account) accountbalance ( accountbalance (account d (account))) Paint UPCA In Java Using Barcode creator for Android Control to generate, create UPC Symbol image in Android applications. USS Code 39 Drawer In None Using Barcode encoder for Font Control to generate, create Code 39 Full ASCII image in Font applications. < dbalance
Figure 318 shows the result of this query As one more example of the rename operation, consider the query Find the names of all customers who live on the same street and in the same city as Smith We can obtain Smith s street and city by writing customer street, customer city ( customer name = Smith (customer )) However, in order to nd other customers with this street and city, we must reference the customer relation a second time In the following query, we use the rename operation on the preceding expression to give its result the name smithaddr, and to rename its attributes to street and city, instead of customerstreet and customercity: customer customer name ( customer customer street =smithaddr street customer customer city=smithaddr city (customer smithaddr (street,city) ( customer street, customer city ( customer name = Smith (customer ))))) The result of this query, when we apply it to the customer relation of Figure 34, appears in Figure 319 The rename operation is not strictly required, since it is possible to use a positional notation for attributes We can name attributes of a relation implicitly by using a positional notation, where $1, $2, refer to the rst attribute, the second attribute, and so on The positional notation also applies to results of relationalalgebra operations customername Curry Smith Figure 319 Customers who live on the same street and in the same city as Smith Silberschatz Korth Sudarshan: Database System Concepts, Fourth Edition
I Data Models
3 Relational Model
The McGraw Hill Companies, 2001 3
Relational Model
The following relationalalgebra expression illustrates the use of positional notation with the unary operator : $2=$3 (R R) If a binary operation needs to distinguish between its two operand relations, a similar positional notation can be used for relation names as well For example, $R1 could refer to the rst operand, and $R2 could refer to the second operand However, the positional notation is inconvenient for humans, since the position of the attribute is a number, rather than an easytoremember attribute name Hence, we do not use the positional notation in this textbook 322 Formal De nition of the Relational Algebra
The operations in Section 321 allow us to give a complete de nition of an expression in the relational algebra A basic expression in the relational algebra consists of either one of the following: A relation in the database A constant relation A constant relation is written by listing its tuples within { }, for example { (A101, Downtown, 500) (A215, Mianus, 700) } A general expression in relational algebra is constructed out of smaller subexpressions Let E1 and E2 be relationalalgebra expressions Then, these are all relationalalgebra expressions: E1 E2 E1 E2 E1 E2 P (E1 ), where P is a predicate on attributes in E1 S (E1 ), where S is a list consisting of some of the attributes in E1 x (E1 ), where x is the new name for the result of E1 323 Additional Operations
The fundamental operations of the relational algebra are suf cient to express any relationalalgebra query1 However, if we restrict ourselves to just the fundamental operations, certain common queries are lengthy to express Therefore, we de ne additional operations that do not add any power to the algebra, but simplify common queries For each new operation, we give an equivalent expression that uses only the fundamental operations 1 In Section 33, we introduce operations that extend the power of the relational algebra, to handle null and aggregate values

