Joe Celko's SQL programming style
Are you an SQL programmer that, like many, came to SQL after learning and writing procedural or object-oriented code? Or have switched jobs to where a different brand of SQL is being used, or maybe even been told to learn SQL yourself? If even one answer is yes, then you need this book. A "Manu...
Uloženo v:
| Hlavní autor: | |
|---|---|
| Médium: | E-kniha Kniha |
| Jazyk: | angličtina |
| Vydáno: |
San Francisco
Elsevier
2005
Amsterdam ; Boston ; Tokyo Morgan Kaufmann Publishers Elsevier Science & Technology Morgan Kaufmann Morgan Kaufmann/Elsevier |
| Vydání: | 1 |
| Edice: | The Morgan Kaufmann Series in Data Management Systems |
| Témata: | |
| ISBN: | 0120887975, 9780120887972 |
| On-line přístup: | Získat plný text |
| Tagy: |
Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
|
| Abstract | Are you an SQL programmer that, like many, came to SQL after learning and writing procedural or object-oriented code? Or have switched jobs to where a different brand of SQL is being used, or maybe even been told to learn SQL yourself? If even one answer is yes, then you need this book. A "Manual of Style" for the SQL programmer, this book is a collection of heuristics and rules, tips, and tricks that will help you improve SQL programming style and proficiency, and for formatting and writing portable, readable, maintainable SQL code. Based on many years of experience consulting in SQL shops, and gathering questions and resolving his students’ SQL style issues, Joe Celko can help you become an even better SQL programmer.Help you write Standard SQL without an accent or a dialect that is used in another programming language or a specific flavor of SQL, code that can be maintained and used by other people.Enable you to give your group a coding standard for internal use, to enable programmers to use a consistent style.Give you the mental tools to approach a new problem with SQL as your tool, rather than another programming language — one that someone else might not know! |
|---|---|
| AbstractList | Are you an SQL programmer that, like many, came to SQL after learning and writing procedural or object-oriented code? Or have switched jobs to where a different brand of SQL is being used, or maybe even been told to learn SQL yourself? If even one answer is yes, then you need this book. A "Manual of Style" for the SQL programmer, this book is a collection of heuristics and rules, tips, and tricks that will help you improve SQL programming style and proficiency, and for formatting and writing portable, readable, maintainable SQL code. Based on many years of experience consulting in SQL shops, and gathering questions and resolving his students' SQL style issues, Joe Celko can help you become an even better SQL programmer.
+ Help you write Standard SQL without an accent or a dialect that is used in another programming language or a specific flavor of SQL, code that can be maintained and used by other people. + Enable you to give your group a coding standard for internal use, to enable programmers to use a consistent style. + Give you the mental tools to approach a new problem with SQL as your tool, rather than another programming language - one that someone else might not know! Are you an SQL programmer that, like many, came to SQL after learning and writing procedural or object-oriented code? Or have switched jobs to where a different brand of SQL is being used, or maybe even been told to learn SQL yourself? If even one answer is yes, then you need this book. A "Manual of Style" for the SQL programmer, this book is a collection of heuristics and rules, tips, and tricks that will help you improve SQL programming style and proficiency, and for formatting and writing portable, readable, maintainable SQL code. Based on many years of experience consulting in SQL shops, and gathering questions and resolving his students’ SQL style issues, Joe Celko can help you become an even better SQL programmer.Help you write Standard SQL without an accent or a dialect that is used in another programming language or a specific flavor of SQL, code that can be maintained and used by other people.Enable you to give your group a coding standard for internal use, to enable programmers to use a consistent style.Give you the mental tools to approach a new problem with SQL as your tool, rather than another programming language — one that someone else might not know! A "Manual of Style" for the SQL programmer, this book is a collection of tricks & tips and rules for formatting and writing portable, readable, maintainable SQL code. |
| Author | Celko, Joe |
| Author_xml | – sequence: 1 fullname: Celko, Joe |
| BackLink | https://cir.nii.ac.jp/crid/1130000797242387456$$DView record in CiNii |
| BookMark | eNpVkE1PwzAMhoNgiG3sPxSEQBw6nDhp0iObxpcmIQRC3Kq0uKO0tNCUAf-e7gNNXOyDHz223x7bKauSGDvkMOTAg7NRqI0PPhc-GKND7YvhkwIAP9hig3YGYEBqY9Bssx5wsaJUh_UEgAKptAx3WTfEIAQMNOyxgXOvrQC4UYbrLju4qcgbU5FXJ867v5t673U1q-3bW1bOPNf8FLTPOqktHA3Wvc8eLyYP4yt_ent5PT6f-lYLxNBXMlQCNFfKAreGJ5ogxThOKMDE6NgKhWQkEYKOJZJVCcZCkYyTxDwTxz47XoldnhWFq9Imiqsqd0J-6yjOXXs1CpRhC56uQOty-nIvVdG4aF7Qko7-xdKyR2upTW2drYzRXCyxv8DEZnf7_scnuSZa2hIqm9oW0WQ0Xmw2wcZXZlmUZIvKOS4SXXikQKOlCvAXBR95Sw |
| ContentType | eBook Book |
| DBID | RYH OHILO OODEK |
| DEWEY | 005.13/3 |
| DOI | 10.1016/B978-0-12-088797-2.X5000-6 |
| DatabaseName | CiNii Complete O'Reilly Online Learning: Corporate Edition O'Reilly Online Learning: Academic/Public Library Edition |
| DatabaseTitleList | |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| DocumentTitleAlternate | SQL programming style |
| EISBN | 9780080478838 0080478832 |
| Edition | 1 |
| ExternalDocumentID | bks00032349 9780080478838 9780120887972 EBC234986 BA74632059 |
| Genre | Electronic books |
| GroupedDBID | 089 2.1 20A 38. A4I A4J AAAAS AABBV AALIM AALRI AAORS AAXUO AAYWO AAZNM ABARN ABGWT ABIAV ABLXK ABMAC ABMRC ABQPQ ABQQC ACHHS ACLGV ACXMD ADCEY ADVEM AERYV AFOJC AGAMA AHPGB AHWGJ AIJWT AJFER AKHYG ALMA_UNASSIGNED_HOLDINGS ALTAS AMYDA AVWMD AZZ BBABE CETPU CZZ DGIFQ EBSCA FEDTE GEOUK HF4 HGY HVGLF INJ IOW JJU JXA MYL OHILO OODEK PQQKQ RYH SDK SRW UO7 WZT 6XM AADAM AJLYV DRU IVK |
| ID | FETCH-LOGICAL-a72339-5495207155a01a81c7e0f3bbce63c87ba253e84ee307b43ea5c3b25e4bcc8de13 |
| ISBN | 0120887975 9780120887972 |
| IngestDate | Fri Aug 15 18:44:16 EDT 2025 Thu Feb 27 10:12:38 EST 2025 Fri Dec 05 19:13:10 EST 2025 Wed Nov 26 06:57:14 EST 2025 Thu Jun 26 23:24:33 EDT 2025 |
| IsPeerReviewed | false |
| IsScholarly | false |
| LCCN | 2005045749 |
| LCCallNum | QA76.73.S67 C433 2005eb |
| LCCallNum_Ident | QA76.73.S6 |
| Language | English |
| LinkModel | OpenURL |
| MergedId | FETCHMERGED-LOGICAL-a72339-5495207155a01a81c7e0f3bbce63c87ba253e84ee307b43ea5c3b25e4bcc8de13 |
| Notes | Morgan kaufmann publishers is an imprint of Elzevier Includes bibliographical references (p. [203]-206) and index Available also in a print ed. Mode of access: Internet via World Wide Web. Title from title screen. |
| OCLC | 936903670 |
| PQID | EBC234986 |
| PageCount | 236 |
| ParticipantIDs | skillsoft_books24x7_bks00032349 askewsholts_vlebooks_9780080478838 safari_books_v2_9780120887972 proquest_ebookcentral_EBC234986 nii_cinii_1130000797242387456 |
| PublicationCentury | 2000 |
| PublicationDate | c2005 2005 2005-05-19T00:00:00 2005-05-19 |
| PublicationDateYYYYMMDD | 2005-01-01 2005-05-19 |
| PublicationDate_xml | – year: 2005 text: c2005 |
| PublicationDecade | 2000 |
| PublicationPlace | San Francisco Amsterdam ; Boston ; Tokyo |
| PublicationPlace_xml | – name: San Francisco – name: Amsterdam ; Boston ; Tokyo – name: Chantilly – name: Amsterdam – name: Boston |
| PublicationSeriesTitle | The Morgan Kaufmann Series in Data Management Systems |
| PublicationYear | 2005 |
| Publisher | Elsevier Morgan Kaufmann Publishers Elsevier Science & Technology Morgan Kaufmann Morgan Kaufmann/Elsevier |
| Publisher_xml | – name: Morgan Kaufmann Publishers – name: Elsevier – name: Elsevier Science & Technology – name: Morgan Kaufmann – name: Morgan Kaufmann/Elsevier |
| SSID | ssj0000185817 |
| Score | 1.8635563 |
| Snippet | A "Manual of Style" for the SQL programmer, this book is a collection of tricks & tips and rules for formatting and writing portable, readable, maintainable... Are you an SQL programmer that, like many, came to SQL after learning and writing procedural or object-oriented code? Or have switched jobs to where a... |
| SourceID | skillsoft askewsholts safari proquest nii |
| SourceType | Aggregation Database Publisher |
| SubjectTerms | SQL (Computer program language) |
| SubjectTermsDisplay | Electronic books. SQL (Computer program language) |
| TableOfContents | 4.7 General Guidelines for Using Scales in a Database -- 5. Data Encoding Schemes -- 5.1 Bad Encoding Schemes -- 5.2 Encoding Scheme Types -- 5.2.1 Enumeration Encoding -- 5.2.2 Measurement Encoding -- 5.2.3 Abbreviation Encoding -- 5.2.4 Algorithmic Encoding -- 5.2.5 Hierarchical Encoding Schemes -- 5.2.6 Vector Encoding -- 5.2.7 Concatenation Encoding -- 5.3 General Guidelines for Designing Encoding Schemes -- 5.3.1 Existing Encoding Standards -- 5.3.2 Allow for Expansion -- 5.3.3 Use Explicit Missing Values to Avoid NULLs -- 5.3.4 Translate Codes for the End User -- 5.3.5 Keep the Codes in the Database -- 5.4 Multiple Character Sets -- 6. Coding Choices -- 6.1 Pick Standard Constructions over Proprietary Constructions -- 6.1.1 Use Standard OUTER JOIN Syntax -- 6.1.2 Infixed INNER JOIN and CROSS JOIN Syntax Is Optional, but Nice -- 6.1.3 Use ISO Temporal Syntax -- 6.1.4 Use Standard and Portable Functions -- 6.2 Pick Compact Constructions over Longer Equivalents -- 6.2.1 Avoid Extra Parentheses -- 6.2.2 Use CASE Family Expressions -- 6.2.3 Avoid Redundant Expressions -- 6.2.4 Seek a Compact Form -- 6.3 Use Comments -- 6.3.1 Stored Procedures -- 6.3.2 Control Statement Comments -- 6.3.3 Comments on Clause -- 6.4 Avoid Optimizer Hints -- 6.5 Avoid Triggers in Favor of DRI Actions -- 6.6 Use SQL Stored Procedures -- 6.7 Avoid User-Defined Functions and Extensions inside the Database -- 6.7.1 Multiple Language Problems -- 6.7.2 Portability Problems -- 6.7.3 Optimization Problems -- 6.8 Avoid Excessive Secondary Indexes -- 6.9 Avoid Correlated Subqueries -- 6.10 Avoid UNIONs -- 6.11 Testing SQL -- 6.11.1 Test All Possible Combinations of NULLs -- 6.11.2 Inspect and Test All CHECK() Constraints -- 6.11.3 Beware of Character Columns -- 6.11.4 Test for Size -- 7. How to Use VIEWS -- 7.1 VIEW Naming Conventions Are the Same as Tables 7.1.1 Always Specify Column Names -- 7.2 VIEWs Provide Row- and Column-Level Security -- 7.3 VIEWs Ensure Efficient Access Paths -- 7.4 VIEWs Mask Complexity from the User -- 7.5 VIEWs Ensure Proper Data Derivation -- 7.6 VIEWs Rename Tables and/or Columns -- 7.7 VIEWs Enforce Complicated Integrity Constraints -- 7.8 Updatable VIEWs -- 7.8.1 WITH CHECK OPTION clause -- 7.8.2 INSTEAD OF Triggers -- 7.9 Have a Reason for Each VIEW -- 7.10 Avoid VIEW Proliferation -- 7.11 Synchronize VIEWs with Base Tables -- 7.12 Improper Use of VIEWs -- 7.12.1 VIEWs for Domain Support -- 7.12.2 Single-Solution VIEWs -- 7.12.3 Do Not Create One VIEW Per Base Table -- 7.13 Learn about Materialized VIEWs -- 8. How to Write Stored Procedures -- 8.1 Most SQL 4GLs Are Not for Applications -- 8.2 Basic Software Engineering -- 8.2.1 Cohesion -- 8.2.2 Coupling -- 8.3 Use Classic Structured Programming -- 8.3.1 Cyclomatic Complexity -- 8.4 Avoid Portability Problems -- 8.4.1 Avoid Creating Temporary Tables -- 8.4.2 Avoid Using Cursors -- 8.4.3 Prefer Set-Oriented Constructs to Procedural Code -- 8.5 Scalar versus Structured Parameters -- 8.6 Avoid Dynamic SQL -- 8.6.1 Performance -- 8.6.2 SQL Injection -- 9. Heuristics -- 9.1 Put the Specification into a Clear Statement -- 9.2 Add the Words "Set of All..." in Front of the Nouns -- 9.3 Remove Active Verbs from the Problem Statement -- 9.4 You Can Still Use Stubs -- 9.5 Do Not Worry about Displaying the Data -- 9.6 Your First Attempts Need Special Handling -- 9.6.1 Do Not Be Afraid to Throw Away Your First Attempts at DDL -- 9.6.2 Save Your First Attempts at DML -- 9.7 Do Not Think with Boxes and Arrows -- 9.8 Draw Circles and Set Diagrams -- 9.9 Learn Your Dialect -- 9.10 Imagine That Your WHERE Clause Is ÏSuper AmebaÓ -- 9.11 Use the Newsgroups and Internet -- 10. Thinking in SQL 3.1 Put the Default in the Right Place -- 3.2 The Default Value Should Be the Same Data Type as the Column -- 3.3 Do Not Use Proprietary Data Types -- 3.4 Place the PRIMARY KEY Declaration at the Start of the CREATE TABLE Statement -- 3.5 Order the Columns in a Logical Sequence and Cluster Them in Logical Groups -- 3.6 Indent Referential Constraints and Actions under the Data Type -- 3.7 Give Constraints Names in the Production Code -- 3.8 Put CHECK() Constraint Near what they Check -- 3.8.1 Consider Range Constraints for Numeric Values -- 3.8.2 Consider LIKE and SIMILAR TO Constraints for Character Values -- 3.8.3 Remember That Temporal Values Have Duration -- 3.8.4 REAL and FLOAT Data Types Should Be Avoided -- 3.9 Put Multiple Column Constraints as Near to Both Columns as Possible -- 3.10 Put Table-Level CHECK() Constraints at the End of the Table Declaration -- 3.11 Use CREATE ASSERTION for Multi-table Constraints -- 3.12 Keep CHECK() Constraints Single Purposed -- 3.13 Every Table Must Have a Key to Be a Table -- 3.13.1 Auto-Numbers Are Not Relational Keys -- 3.13.2 Files Are Not Tables -- 3.13.3 Look for the Properties of a Good Key -- 3.14 Do Not Split Attributes -- 3.14.1 Split into Tables -- 3.14.2 Split into Columns -- 3.14.3 Split into Rows -- 3.15 Do Not Use Object-Oriented Design for an RDBMS -- 3.15.1 A Table Is Not an Object Instance -- 3.15.2 Do Not Use EAV Design for an RDBMS -- 4. Scales and Measurements -- 4.1 Measurement Theory -- 4.1.1 Range and Granularity -- 4.1.2 Range -- 4.1.3 Granularity, Accuracy, and Precision -- 4.2 Types of Scales -- 4.2.1 Nominal Scales -- 4.2.2 Categorical Scales -- 4.2.3 Absolute Scales -- 4.2.4 Ordinal Scales -- 4.2.5 Rank Scales -- 4.2.6 Interval Scales -- 4.2.7 Ratio Scales -- 4.3 Using Scales -- 4.4 Scale Conversion -- 4.5 Derived Units -- 4.6 Punctuation and Standard Units 10.1 Bad Programming in SQL and Procedural Languages -- 10.2 Thinking of Columns as Fields -- 10.3 Thinking in Processes, Not Declarations -- 10.4 Thinking the Schema Should Look Like the Input Forms -- back matter -- Appendix. Resources -- Military Standards -- Metadata Standards -- ANSI and ISO Standards -- U.S. Government Codes -- Retail Industry -- Code Formatting and Naming Conventions -- Appendix. Bibliography -- Reading Psychology -- Programming Considerations -- Index -- About the Author Front cover -- Title page -- Copyright page -- Table of contents -- front matter -- Introduction -- 1.1 Purpose of the Book -- 1.2 Acknowledgments -- 1.3 Corrections, Comments, and Future Editions -- First chapter -- 1. Names and Data Elements -- 1.1 Names -- 1.1.1 Watch the Length of Names -- 1.1.2 Avoid All Special Characters in Names -- 1.1.3 Avoid Quoted Identifiers -- 1.1.4 Enforce Capitalization Rules to Avoid Case- Sensitivity Problems -- 1.2 Follow the ISO-11179 Standards Naming Conventions -- 1.2.1 ISO-11179 for SQL -- 1.2.2 Levels of Abstraction -- 1.2.3 Avoid Descriptive Prefixes -- 1.2.4 Develop Standardized Postfixes -- 1.2.5 Table and View Names Should Be Industry Standards, Collective, Class, or Plural Nouns -- 1.2.6 Correlation Names Follow the Same Rules as Other Names . . . Almost -- 1.2.7 Relationship Table Names Should Be Common Descriptive Terms -- 1.2.8 Metadata Schema Access Objects Can Have Names That Include Structure Information -- 1.3 Problems in Naming Data Elements -- 1.3.1 Avoid Vague Names -- 1.3.2 Avoid Names That Change from Place to Place -- 1.3.3 Do Not Use Proprietary Exposed Physical Locators -- 2. Fonts, Punctuation, and Spacing -- 2.1 Typography and Code -- 2.1.1 Use Only Upper- and Lowercase Letters, Digits, and Underscores for Names -- 2.1.2 Lowercase Scalars Such as Column Names, Parameters, and Variables -- 2.1.3 Capitalize Schema Object Names -- 2.1.4 Uppercase the Reserved Words -- 2.1.5 Avoid the Use of CamelCase -- 2.2 Word Spacing -- 2.3 Follow Normal Punctuation Rules -- 2.4 Use Full Reserved Words -- 2.5 Avoid Proprietary Reserved Words if a Standard Keyword Is Available in Your SQL Product -- 2.6 Avoid Proprietary Statements if a Standard Statement Is Available -- 2.7 Rivers and Vertical Spacing -- 2.8 Indentation -- 2.9 Use Line Spacing to Group Statements -- 3. Data Declaration Language |
| Title | Joe Celko's SQL programming style |
| URI | https://cir.nii.ac.jp/crid/1130000797242387456 https://ebookcentral.proquest.com/lib/[SITE_ID]/detail.action?docID=234986 https://learning.oreilly.com/library/view/~/9780120887972/?ar https://www.vlebooks.com/vleweb/product/openreader?id=none&isbn=9780080478838&uid=none http://www.books24x7.com/marc.asp?bookid=32349 |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1Nj9MwEB2xBQn2wrcoUAgIiQMKJHZcO0daFZBYLSCWVW-RnUylqCGL6lKVf8_Y-aAtQogDFyuxHCd6Lxm_cewZgGdIqjMWyoRqgRgmomChTg197kImC00eR-HTt52fyNNTNZ-nH9u8YdanE5B1rbbb9Nt_pZrqiGy3dfYf6O47pQo6JtKpJNqpPFDE_WmnLfHFFKvlhZ-D__zppFt89bWZM_hR9SS2zdzkOe75_eLA7-82pOz5g24nLFmNtMmG85t1bBz1SRNU1y3J8G1D9nLu0iKEByGp_SA3eS2TMWckwo7giFyTAVx-O_vw5X0_jxXRgK9i6aMVtTcXbWCj_mG6YK_x-NWfb34Mx9ouybKT1V9bGurrstyX_VYv9IrqrtplWVWWhqkdKXB2AwZue8hNuIT1LbjeJcUIWht5G54QpIHH97kNiIRgh4TAk3AHzt_MzqbvwjYPRagl4zwNyYcWjLSYEDqKtYpzidGCG5PjmOdKGs0ER5UgksE0CUctcm6YwMTkuSow5ndhUF_UeA-CKDIFabICpU6ca6ucZI2Mllq4uEViCE93UMg2lf9nbjOHJ4l7l-yAqyGMCJwsL10Zux-SpPQIZ5LGLnvBeAiPO9gyf3270DebTaaMJ6miFqMGzazpfsOyPcaohx7kpglLtjIzSxd2jLs-7v_lGR7AtV9v7UMYrFffcQRX8s26tKtH7Vv0E69vM78 |
| linkProvider | ProQuest Ebooks |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.title=Joe+Celko%27s+SQL+programming+style&rft.au=Celko%2C+Joe&rft.date=2005-01-01&rft.pub=Elsevier&rft.isbn=9780120887972&rft_id=info:doi/10.1016%2FB978-0-12-088797-2.X5000-6&rft.externalDocID=BA74632059 |
| thumbnail_m | http://cvtisr.summon.serialssolutions.com/2.0.0/image/custom?url=https%3A%2F%2Fwww.safaribooksonline.com%2Flibrary%2Fcover%2F9780120887972 http://cvtisr.summon.serialssolutions.com/2.0.0/image/custom?url=https%3A%2F%2Fvle.dmmserver.com%2Fmedia%2F640%2F97800804%2F9780080478838.jpg |

