- Paperback: 512 pages
- Publisher: Apress; 1st ed. edition (July 26, 2011)
- Language: English
- ISBN-10: 1430234857
- ISBN-13: 978-1430234852
- Product Dimensions: 7.5 x 1.2 x 9.2 inches
- Shipping Weight: 2.4 pounds (View shipping rates and policies)
- Average Customer Review: 6 customer reviews
- Amazon Best Sellers Rank: #2,416,485 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Expert PL/SQL Practices: for Oracle Developers and DBAs 1st ed. Edition
Use the Amazon App to scan ISBNs and compare prices.
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Customers who viewed this item also viewed
About the Author
Michael Rosenblum is a Software Architect/Development DBA at Dulcian, Inc. where he is responsible for system tuning and application architecture. Michael supports Dulcian developers by writing complex PL/SQL routines and researching new features. He is the co-author of PL/SQL for Dummies (Wiley Press, 2006) and author of a number of database-related articles (IOUG Select Journal, ODTUG Tech Journal). Michael is an Oracle ACE, a frequent presenter at various regional and national Oracle user group conferences (Oracle OpenWorld, ODTUG, IOUG Collaborate, RMOUG, NYOUG, etc), and winner of the ODTUG Kaleidoscope 2009 Best Speaker Award. In his native Ukraine, he received the scholarship of the President of Ukraine, a Master of Science degree in Information Systems, and a diploma with honors from the Kiev National University of Economics.
Top customer reviews
It is in the table of content but when I go to that seciotn it gives me the cover page of the book only!
The writers of this book are all very active in the Oracle community, most are authors, Oracle ACE, members of the OakTable network, etc. I actually met a few of them at seminars and user group activities. One of them, Arup Nanda, was once my RAC class instructor, and I've always been impressed by his ability to explain complicated issues in a simple and interesting way. In this book, he discussed dependencies and invalidations with the same clear logic.
The book has 15 chapters, with each author contributing one. Every chapter has a brief summary. Almost all of them go deeply into the topic using very good sample codes, traces, and tkprof output to prove their points.
You may read it as a book focusing on the newest and most powerful PL/SQL features, or you can treat it as 15 top level technical articles - each concentrates on a specific PL/SQL field and digs deeply into it. You'll learn the best practices from their expertise; real experiences and lessons. You can also gain lots of TTTs: Tips, Tricks and Traps to avoid. Many new data dictionary views mentioned by the authors are also very useful.
Based on the needs of my current work, I went through some chapters in close detail, and browsed others for future reference. The book touches the most recent Oracle version, including many new features of 11gR2.
This book is not for beginners. You will need some PL/SQL background to start with. I've been working with PL/SQL since version 6, but in the past few years, I've used more SQL than PL/SQL. By reading this book, I've realized how much more powerful PL/SQL is now than in the past. As new features come, we will have to keep learning. Often difficult tasks can become much easier if you learn the new ways rather than stick with what's familiar.
The order of the chapters does not matter. You can pick up any topic and start reading. Some similar issues are addressed by multiple authors, with each expert offering a different perspective on the problem.
I'd group the chapters into 3 main topics:
PART 1: What To Do And What Not To Do (Chapters 1, 2, 9,10, 12)
These chapters discuss when and when not to use PL/SQL from functional and performance points of view. They also discuss the differences between SQL and PL/SQL engines, the dynamic PL/SQL programming and its pros and cons, the different types of cursors and their usage, etc. Data modeling is not only important at the design stage but is also an evolutionary process.
PART 2: How To Do It Right (Chapters 5,7,8.11,14)
These chapters discuss coding standards and conventions, unit testing, best practices, etc. These are critical factors for successful application development, especially when you have a large group of developers working on a very complex application. Like Chapter 7 says, good developers need to `know your code' and to make your code simple, well organized, well documented, effective and efficient.
PART 3: How to Do More and Better (chapters 3, 4, 6, 13,15)
These chapters discuss more specific topics, including parallel processing, conditional compilations, bulk operations, methods to identify and measure performance issues as well as methods to shorten dependency chains and reducing cascading invalidations.
Chapter 6 is one of my favorate topics. Bulk operation is a very useful but underused feature. This chapter demonstrates the huge performance benefit you can get using bulk processing. The author also provides methods and solutions to find and handle the pitfalls of using bulk processing. The examples are interesting and the results are persuasive.
My coworker saw this book and agreed it is very good. I strongly recommend it to Oracle developers and DBAs.
I received a hard copy of this book. To me the line spacing is rather small for text, but the sample codes look fine.
The authors show you what you can do to help make your code better for not only your benefit, but for the benefit of those that will come later and have to maintain your code.
Here is a brief description of some of my favorite chapters:
Chapter 1 shows why using PL/SQL might not be the best choice in a given situation. If you can get the job done strictly with SQL, then PL/SQL just adds unnecessary complexity and resource use. If you're coming from a programming background and haven't done much database work, this chapter would be a great reference for you.
Chapter 2 covers dynamic SQL and the pros and cons of working with it. In my experience this technique is underused, and too many people try to make a single general purpose (static) query that is hard to tune and work with. When done right, dynamic SQL can offer significant performance benefits without introducing complexity or security issues.
Chapter 7 talks about knowing your code. This is not only the code you write, but the code you must maintain. When your manager comes and asks you to make a change to some code, you need to know how that data is being used, what calls that code, and how the change will affect anything using it downstream. By putting the practices mentioned here into use, you will make it easier on yourself when making those changes and will have the confidence to know where and how to test your changes to verify nothing broke with the changes made.
Chapter 14 talks about why using standards are important. Many might just gloss over this chapter, but I feel that it's one of the most important things to learn. Whether you're working in a really small group of people or working on a team of 50+ developers, having standards is critical. I've worked in shops where nobody would code to a standard, and that was made much worse when you get a call at 2AM and you had to troubleshoot someones code. I've also worked in shops where there was a documented standard and those late night calls with critical issues were handled quickly because of it. While the company's given standard might not be your preferred coding style, adhering to it will make your life much easier when you have to make changes to someone else's code that followed that same standard.
Each of the chapters made me think about my coding style and how I write and test code. There are a lot of ideas to be gleaned from this book. While a couple of the authors will readily admit that their standards might not be right or make sense to be implemented in your shop, they all agree that using some type of standards is critical to saving time in both writing and maintaining code. Interestingly, there is some advice that I will take and use in other programming languages as it's that universal in scope.
This is definitely a book that's worth reading if you work with PL/SQL as a developer or DBA, and is one that I will recommend to my coworkers.