Математика | ||||
Mastering Oracle SQL and SQL*Plus - LEX DE HAAN 2005 str443 | ||||
Mastering Oracle SQL and SQL*Plus - LEX DE HAAN 2005 str443
Contents at a Glance Foreword. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix About the Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi About the Technical Reviewers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii CHAPTER 1 Relational Database Systems and Oracle . . . . . . . . . . . . . . . . . . . . . . . 1 CHAPTER 2 Introduction to SQL, iSQL*Plus, and SQL*Plus . . . . . . . . . . . . . . . . . . 25 CHAPTER 3 Data Definition, Part I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 CHAPTER 4 Retrieval: The Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 CHAPTER 5 Retrieval: Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 CHAPTER 6 Data Manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 CHAPTER 7 Data Definition, Part II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 CHAPTER 8 Retrieval: Multiple Tables and Aggregation . . . . . . . . . . . . . . . . . . . . 191 CHAPTER 9 Retrieval: Some Advanced Features . . . . . . . . . . . . . . . . . . . . . . . . . . 233 CHAPTER 10 Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 CHAPTER 11 SQL*Plus and iSQL*Plus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 CHAPTER 12 Object-Relational Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 APPENDIX A Quick Reference to SQL and SQL*Plus . . . . . . . . . . . . . . . . . . . . . . . . 349 APPENDIX B Data Dictionary Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 APPENDIX C The Seven Case Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 APPENDIX D Answers to the Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 APPENDIX E Oracle Documentation,Web Sites, and Bibliography . . . . . . . . . . . 443 INDEX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 iii Contents Foreword. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix About the Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi About the Technical Reviewers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii ¦CHAPTER 1 Relational Database Systems and Oracle . . . . . . . . . . . . . . . . . . 1 1.1 Information Needs and Information Systems . . . . . . . . . . . . . . . . . . . . . 1 1.2 Database Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Database Management Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.4 Relational Database Management Systems . . . . . . . . . . . . . . . . . . . . . 10 1.5 Relational Data Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.6 Relational Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.7 How Relational Is My DBMS? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.8 The Oracle Software Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.9 Case Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 ¦CHAPTER 2 Introduction to SQL, iSQL*Plus, and SQL*Plus . . . . . . . . . . . 25 2.1 Overview of SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.2 Basic SQL Concepts and Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.3 Introduction to iSQL*Plus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.4 Introduction to SQL*Plus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 ¦CHAPTER 3 Data Definition, Part I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 3.1 Schemas and Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 3.2 Table Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 3.3 Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 3.4 Commands for Creating the Case Tables . . . . . . . . . . . . . . . . . . . . . . . 69 3.5 The Data Dictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 v vi ¦CONTENTS ¦CHAPTER 4 Retrieval: The Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.1 Overview of the SELECT Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.2 The SELECT Clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.3 The WHERE Clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 4.4 The ORDER BY Clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 4.5 AND, OR, and NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 4.6 BETWEEN, IN, and LIKE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.7 CASE Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 4.8 Subqueries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 4.9 Null Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 4.10 Truth Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 4.11 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 ¦CHAPTER 5 Retrieval: Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 5.1 Overview of Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 5.2 Arithmetic Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 5.3 Text Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 5.4 Regular Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 5.5 Date Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 5.6 General Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 5.7 Conversion Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 5.8 Stored Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 5.9 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 ¦CHAPTER 6 Data Manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 6.1 The INSERT Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 6.2 The UPDATE Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 6.3 The DELETE Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 6.4 The MERGE Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 6.5 Transaction Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 6.6 Locking and Read Consistency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 ¦CHAPTER 7 Data Definition, Part II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 7.1 The CREATE TABLE Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 7.2 More on Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 7.3 The ALTER TABLE and RENAME Commands . . . . . . . . . . . . . . . . . . . . 163 7.4 Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 7.5 Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 7.6 Performance Monitoring with SQL*Plus AUTOTRACE . . . . . . . . . . . . 178 7.7 Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 7.8 Synonyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 7.9 The CURRENT_SCHEMA Setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 7.10 The DROP TABLE Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 7.11 The TRUNCATE Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 7.12 The COMMENT Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 7.13 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 ¦CHAPTER 8 Retrieval: Multiple Tables and Aggregation . . . . . . . . . . . . . 191 8.1 Tuple Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 8.2 Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 8.3 Alternative ANSI/ISO Standard Join Syntax . . . . . . . . . . . . . . . . . . . . . 199 8.4 Outer Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 8.5 The GROUP BY Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 8.6 Group Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 8.7 The HAVING Clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 8.8 Advanced GROUP BY Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 8.9 Partitioned Outer Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 8.10 Set Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 8.11 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 ¦CHAPTER 9 Retrieval: Some Advanced Features . . . . . . . . . . . . . . . . . . . . . 233 9.1 Subqueries Continued . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 9.2 Subqueries in the SELECT Clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 9.3 Subqueries in the FROM Clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 9.4 The WITH Clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 9.5 Hierarchical Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 9.6 Analytical Functions and Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 9.7 Flashback Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 9.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 ¦CHAPTER 10 Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 10.1 What Are Views? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 10.2 View Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 10.3 What Can You Do with Views? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 10.4 Data Manipulation via Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 10.5 Data Manipulation via Inline Views . . . . . . . . . . . . . . . . . . . . . . . . . . 282 ¦CONTENTS vii viii ¦CONTENTS 10.6 Views and Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 10.7 Materialized Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 10.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 ¦CHAPTER 11 SQL*Plus and iSQL*Plus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 11.1 SQL*Plus Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 11.2 Bind Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 11.3 SQL*Plus Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 11.4 Report Generation with SQL*Plus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 11.5 HTML in SQL*Plus and iSQL*Plus . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 11.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 ¦CHAPTER 12 Object-Relational Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 12.1 More Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 12.2 Varrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 12.3 Nested Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 12.4 User-Defined Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 12.5 Multiset Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 12.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 ¦APPENDIX A Quick Reference to SQL and SQL*Plus . . . . . . . . . . . . . . . . . . . 349 ¦APPENDIX B Data Dictionary Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 ¦APPENDIX C The Seven Case Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 ¦APPENDIX D Answers to the Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 ¦APPENDIX E Oracle Documentation, Web Sites, and Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 Цена: 200руб. |
||||