Understanding the New SQL: A Complete GuideMorgan Kaufmann, 1993 - 536 Seiten SQL is the way to develop, program, and use database applications. SQL-92 is a major advance over earlier versions, offering the first complete SQL language. DB programmers will have the advantage of knowing that applications written in SQL-92 will be portable to all hardware platforms for many years to come. As the editor of the new standard, Jim Melton is an authority on the language and its new features. Using a highly readable, conversational style, the authors clearly present the power of SQL. They describe practical methods of using SQL to solve problems, advanced SQL query expressions, dynamic SQL, transaction models, and database design. Beginning with a tutorial on basic relational database concepts, subsequent chapters develop SQL and clarify the differences between SQL-89 and SQL-92. Throughout, a retail video and music store is used as an example that develops with the SQL presentation. The book is enhanced by a complete dynamic SQL example, coverage of international character sets, and a look at future generations of SQL. Whether you're a newcomer to SQL or an experienced programmer using PCs, workstations, mini- or mainframes, Understanding the New SQL is an essential resource for current and future implementation of SQL. |
Inhalt
Introduction to SQL92 | 3 |
12 What is SQL? | 4 |
122 Procedural Versus Nonprocedural Languages | 5 |
14 The Relational Model | 6 |
142 Mathematical Foundations | 7 |
15 The History of the SQL Language | 9 |
16 SQL92 The New Revision | 10 |
161 New Features | 11 |
1024 Constraint Names | 210 |
103 Assertions | 211 |
104 PRIMARY KEY | 215 |
105 Referential Integrity | 217 |
1051 FOREIGN KEY | 218 |
1052 Referential Constraint Actions | 221 |
106 Multiple Cascades | 224 |
107 More About Referential Integrity Constraints | 227 |
162 Size of SQL92 | 12 |
164 Conforming to SQL92 | 13 |
17 Chapter Summary | 14 |
Getting Started with SQL92 | 15 |
222 What is a Database Management System? | 16 |
23 Data and Metadata | 17 |
24 Data Models | 18 |
25 The Relational Model | 19 |
252 Primitive Data Types | 20 |
253 Relational Operations | 21 |
254 Closure of the Relational Model | 23 |
261 Views | 24 |
262 Users and Privileges | 25 |
27 SQL Data Types | 26 |
271 Exact Numerics | 27 |
273 Character Strings | 28 |
274 Bit Strings | 29 |
275 Datetimes | 30 |
276 Intervals | 32 |
28 Logic and Null Values | 33 |
29 Data Conversions | 35 |
210 SQL Statements | 36 |
211 Static Versus Dynamic Execution | 37 |
212 The Transaction Model | 38 |
213 Our Example | 40 |
214 Identifiers | 41 |
215 Chapter Summary | 42 |
Basic Table Creation and Data Manipulation | 43 |
32 Set Orientation | 44 |
34 Basic Data Manipulation | 47 |
341 DISTINCT | 48 |
342 Inside the SELECT Statement | 49 |
344 WHERE and | 50 |
345 Search Conditions Using AND | 51 |
346 More SELECT Statements | 52 |
35 Updating Information | 54 |
36 Inserting Information | 57 |
37 Deleting Information | 59 |
38 Chapter Summary | 60 |
Basic Data Definition Language DDL | 61 |
42 Data Definition Fundamentals | 62 |
422 Catalog Concepts | 64 |
424 Columns | 68 |
431 SQL Syntax for Tables and Columns | 69 |
432 Character Sets | 72 |
434 Temporary Tables | 73 |
The ALTER and DROP Statements | 75 |
436 Schemas | 77 |
437 Views | 78 |
438 WITH CHECK OPTION | 81 |
44 Chapter Summary | 82 |
Values Basic Functions and Expressions | 83 |
53 Literals | 84 |
54 Parameters | 87 |
541 Types of Parameters | 88 |
55 Special Values | 91 |
56 Column References | 92 |
57 Some Terminology | 95 |
582 MAX | 98 |
583 MIN | 101 |
584 SUM | 102 |
59 Value Functions | 103 |
592 String Value Functions | 104 |
593 Datetime Value Functions | 107 |
5101 Numeric Value Expressions | 108 |
5102 String Value Expressions | 109 |
5104 Interval Value Expressions | 111 |
511 Chapter Summary | 112 |
Advanced Features of SQL92 | 113 |
Advanced Value Expressions CASE CAST and Row Value Expressions | 115 |
621 CASE and Search Conditions | 116 |
622 CASE and Values | 117 |
623 NULLIF | 118 |
624 COALESCE | 119 |
63 The CAST Expression | 120 |
64 Row Value Constructors | 122 |
65 Chapter Summary | 124 |
Predicates | 125 |
73 Subqueries | 126 |
741 BETWEEN | 130 |
742 NOT BETWEEN | 131 |
75 NULL Predicate | 132 |
76 IN Predicate | 134 |
77 LIKE Predicate | 135 |
78 EXISTS and UNIQUE Predicates | 138 |
79 OVERLAPS Predicate | 139 |
710 SOME ANY and ALL | 140 |
711 MATCH Predicate | 143 |
712 Search Conditions | 145 |
713 Chapter Summary | 147 |
Working with Multiple Tables The Relational Operators | 149 |
83 Types of Join Operations | 150 |
831 OldStyle Joins | 152 |
832 The CROSS JOIN | 156 |
833 The NATURAL JOIN | 157 |
834 Condition JOIN | 158 |
835 Column Name JOIN | 159 |
836 Joins So Far | 160 |
838 The OUTER JOIN | 161 |
84 The UNION Operator | 164 |
841 Alternative Syntax | 169 |
86 The INTERSECT and EXCEPT Operators | 171 |
87 Another Example | 172 |
88 Chapter Summary | 173 |
Advanced SQL Query Expressions | 175 |
92 Query Specifications | 176 |
921 Table Expressions | 178 |
922 GROUP BY | 181 |
923 Updatable Query Specifications | 184 |
931 CORRESPONDING | 186 |
94 Joined Table | 187 |
95 Grouped Tables | 194 |
951 Grouped Views | 196 |
97 Subqueries | 197 |
98 Chapter Summary | 198 |
Constraints Assertions and Referential Integrity | 199 |
102 Column Constraints and Table Constraints | 201 |
1021 NOT NULL | 202 |
1022 UNIQUE | 203 |
1023 CHECK | 204 |
109 Chapter Summary | 228 |
SQL and Applications | 229 |
Accessing SQL from the Real World | 231 |
112 Data Access Methods and Data Types | 232 |
113 Applications Interface Mechanisms for SQL | 233 |
114 Direct Invocation | 234 |
1152 Embedded Exception Declarations | 236 |
1153 Embedded SQL Declarations | 238 |
1154 Embedded SQL statements | 248 |
1161 Some Additional Information About Privileges | 253 |
1162 An Implementation Note | 254 |
118 Package SQL STANDARD | 255 |
119 Chapter Summary | 258 |
Cursors | 259 |
1221 Syntax | 261 |
1222 Ordering and Column Naming | 262 |
1223 Updatability | 264 |
1224 Sensitivity | 265 |
1225 Scrollable Cursors | 267 |
123 OPEN and CLOSE | 268 |
124 FETCH | 269 |
125 Cursor Positioning | 270 |
1251 Positioned DELETE and UPDATE Statements | 271 |
Privileges Users and Security | 273 |
132 GRANT | 275 |
1321 Basic Viewing Privileges | 277 |
1325 PUBLIC Access and Privileges on VIEWS | 278 |
1327 Constraints and Privileges | 279 |
1328 USAGE | 280 |
133 Other Rules | 281 |
134 Revoking Privileges | 282 |
135 Additional Details of REVOKE | 284 |
136 Chapter Summary | 291 |
Transaction Management | 293 |
142 SQL 92 Transaction Syntax | 294 |
143 SQL92 Isolation Levels | 295 |
144 Mixed DML and DDL | 300 |
146 Transactions and Constraints | 301 |
147 Additional Transaction Termination Actions | 302 |
Connections and Remote Database Access | 303 |
153 Connection Statements | 306 |
1532 SET CONNECTION | 307 |
154 RDA Remote Database Access | 308 |
155 Termination Statements and Connections | 309 |
Dynamic SQL | 311 |
163 The Philosophy of Dynamic SQL | 313 |
1631 Parameters | 314 |
164 Outline of Dynamic SQL Processing | 315 |
1641 Parameters and Codes | 316 |
165 The EXECUTE IMMEDIATE Statement | 325 |
166 PREPARE and EXECUTE Statements | 326 |
167 The DESCRIBE Statement | 329 |
168 The EXECUTE Statement Revisited | 332 |
169 Dynamic SQL and Cursors | 335 |
1691 Dynamic Positioned Statements | 337 |
1610 A Dynamic SQL Example | 339 |
1611 Chapter Summary | 345 |
The Finishing Touches | 347 |
Diagnostics and Error Management | 349 |
173 SQL Statement Codes | 358 |
174 Chapter Summary | 360 |
Internationalization Aspects of SQL92 | 361 |
182 Character Sets and Collations | 362 |
1821 Coercibility | 364 |
1822 Coercibility Attributes | 366 |
1823 ORDER BY | 367 |
1824 GROUP BY | 368 |
184 Chapter Summary | 369 |
Information Schema | 371 |
193 DEFINITION_SCHEMA and Base Tables | 372 |
195 INFORMATION_SCHEMA and Privileges | 373 |
197 Identifier Representation | 374 |
198 The DEFINITION_SCHEMA | 376 |
1982 The Base Tables | 377 |
1983 Assertions on the Base Tables | 380 |
199 The INFORMATION_SCHEMA | 381 |
1992 Assertion | 382 |
1910 Chapter Summary | 384 |
A Look to the Future | 387 |
2022 Triggers | 388 |
2023 Recursive Operations | 390 |
2024 New Data Types | 391 |
2025 Other Relational Features | 392 |
203 Support for the Object Paradigm | 393 |
204 Chapter Summary | 394 |
Appendices | 395 |
Designing SQL92 Databases | 397 |
A3 Levels of Database Design | 398 |
A4 Conceptual Database Design | 399 |
A41 Conceptual Objects | 400 |
A42 Performing Conceptual Design | 405 |
A5 Logical Database Design | 407 |
A52 Normalization | 409 |
A6 Physical Database Design | 411 |
A8 Appendix Summary | 412 |
A Complete SQL92 Example | 413 |
B2 The Schema Definition | 414 |
B3 Application Code | 419 |
B32 Data Modification | 424 |
B33 Table Structure Modification | 430 |
B34 Data Removal | 432 |
B35 Data Access and Management | 433 |
The SQL92 Annexes Differences ImplementationDefined and ImplementationDependent Features Deprecated Features and Leveling | 441 |
C22 Compatible Differences | 444 |
C3 ImplementationDefined and ImplementationDependent | 445 |
C31 ImplementationDefined | 446 |
C32 ImplementationDependent | 456 |
C4 Deprecated Features | 461 |
C6 Appendix Summary | 463 |
Relevant Standards Bodies | 465 |
Status Codes | 469 |
The SQL Standardization Process | 473 |
F22 International Standards | 475 |
F3 History of the SQL Standard | 476 |
F31 SQL2 | 478 |
F6 Other SQLRelated Organizations | 479 |
F7 Appendix Summary | 480 |
The Complete SQL92 Language | 481 |
529 | |
Andere Ausgaben - Alle anzeigen
Häufige Begriffe und Wortgruppen
actor_first_name actor_last_name base tables Beverly Hills Cop catalog CHAR character set character set specification character string CHARACTER VARYING CHECK constraint clause COBOL collation column name constant SQLSTATE_TYPE CREATE TABLE current_rental_price cursor cursor name data type datetime DBMS DECIMAL DECLARE default defined definition DELETE descriptor area discussed distributor domain dynamic parameters embedded SQL error exact numeric example EXEC SQL execute FOREIGN KEY GRANT OPTION host language host variables implementation implementation-defined implementation-dependent INFORMATION_SCHEMA INSERT INTEGER interval left paren length literal metadata module MOVIE TITLES MOVIE_TITLES table movies_stars music_titles null values operations our_cost OUTER JOIN PL/I precision predicate PRIMARY KEY Prince of Tides privilege PROCEDURE query expression Raising Arizona referential result retrieve right paren schema name SCREEN_TUNES search condition SELECT statement specify SQL standard SQLCODE SQLSTATE string literal subquery syntax TABLE movie_titles table name temporary table TIMESTAMP transaction value expression virtual table Yes the system
Verweise auf dieses Buch
Theory and Practice of Relational Databases Stefan Stanczyk,Bob Champion,Richard Leyton Eingeschränkte Leseprobe - 2003 |