Friday, March 03, 2010

Free ebook download: Mastering Oracle SQL, 2nd Edition

Mastering Oracle SQL, 2nd Edition
By Alan Beaulieu, Sanjay Mishra
   
Publisher : O'Reilly
Pub Date : June 2004
ISBN : 0-596-00632-2
Pages : 492

This book is divided into 18 chapters and 1 appendix:

Chapter 1, introduces the SQL language and describes its brief history. This chapter is primarily for those readers who have little or no prior SQL experience. You'll find simple examples of the core SQL statements (SELECT, INSERT, UPDATE, and DELETE) and of SQL's basic features.

Chapter 2, describes ways to filter data in your SQL statements. You'll learn to restrict the results of a query to the rows you wish to see, and restrict the results of a data manipulation statement to the rows you wish to modify.

Chapter 3, describes constructs used to access data from multiple, related tables. The important concepts of inner join and outer join are discussed in this chapter.

Chapter 4, shows you how to generate summary information, such as totals and subtotals, from your data. Learn how to define groups of rows, and how to apply various aggregate functions to summarize data in those groups.

Chapter 5, shows you how to use correlated and noncorrelated subqueries and inline views to solve complex problems that would otherwise require procedural code together with more than one query.

Chapter 6, talks about handling date and time information in an Oracle database. Learn the tricks and traps of querying time-based data.

Chapter 7, shows you how to use UNION, INTERSECT, and MINUS to combine results from two or more independent component queries into one.

Chapter 8, shows you how to store and extract hierarchical information (such as in an organizational chart) from a relational table. Oracle provides many features to facilitate working with hierarchical data, including several new features introduced in Oracle Database 10g.

Chapter 9, talks about two very powerful yet simple features of Oracle SQL that enable you to simulate conditional logic in what is otherwise a declarative language.

Chapter 10, discusses the issues involved with creating and accessing partitioned tables using SQL. Learn to write SQL statements that operate on specific partitions and subpartitions.

Chapter 11, explores the integration of SQL and PL/SQL. This chapter describes how to call PL/SQL stored procedures and functions from SQL statements, and how to write efficient SQL statements within PL/SQL programs.

Chapter 12, explores the object-oriented aspects of the Oracle database server, including object types and collections.

Chapter 13, deals with complex grouping operations used mostly in decision support systems. We show you how to use Oracle features such as ROLLUP, CUBE, and GROUPING SETS to efficiently generate various levels of summary information required by decision-support applications. We also discuss the grouping features that enable composite and concatenated groupings, including the GROUP_ID and GROUPING_ID functions.

Chapter 14, deals with analytical queries and analytic functions. Learn how to use ranking, windowing, and reporting functions to generate decision-support information.

Chapter 15, talks about best practices that you should follow to write efficient and maintainable queries. Learn which SQL constructs are the most efficient for a given situation. For example, we describe when it's better to use WHERE instead of HAVING to restrict query results. We also discuss the performance implications of using bind variables vis-à-vis literal SQL.

Chapter 16, explores how the Oracle server can store XML documents, features used to navigate, search, and extract content from XML documents, and functions used to generate XML documents from ordinary tables.

Chapter 17, shows how to write and interpret regular expressions for performing advanced text searches and substitutions.

Chapter 18, introduces the new, MODEL clause, which lets you manipulate relational data as if it were a big, multidimensional, spreadsheet (Oracle prefers the term model). Model queries enable you to solve problems using a single SQL statement that previously would have required you to download data to a third-party, spreadsheet program such as Microsoft Excel.

The Appendix, describes the SQL89 join syntax, and Oracle's proprietary, outer-join syntax. Only this syntax was available for joins until the release of Oracle9i Database, which introduced support for the newer, and better, SQL92 join syntax.

Click to download the free ebook: Mastering Oracle SQL, 2nd Edition

Tags: oracle, sql


Friday, March 03, 2010

Free ebook download: Linux Transfer for Windows Network Admins: A Roadmap for Building a Linux File and Print Server

Linux Transfer for Windows Network Admins: A Roadmap for Building a Linux File and Print Server
by Michael Jang   ISBN:1930919468

As Microsoft licensing fees increase, Microsoft administrators are looking for alternatives. In the world of servers, the main alternatives to Microsoft Windows are those operating systems related to Unix. With Samba, Unix-style operating systems can take their place as a workstation or server on a Microsoft-based network. Linux stands out because it is freely available. Red Hat Linux is by far the most popular Linux distribution.

This book is targeted at Microsoft Windows administrators. As an author with an MCSE and an RHCE, I think I know how to describe how to use Linux with the language of the Microsoft network administrator. In this book, I assume that the reader is fairly new to Linux. Die-hard Linux administrators may be disappointed; I do not cover the elements of Samba that would be too difficult for the average Microsoft Windows administrator to handle.

With a few easy tweaks, you can set up a Linux computer on a Microsoft network. You can set it up as a workstation or a server. You can set up Linux as a member or a Primary Domain Controller (PDC) on a Microsoft-style Domain. This book illustrates how to do this with Red Hat Linux 9, which you can easily download from various Internet sites. Red Hat Linux 9 is the last freely available Linux distribution developed and packaged by Red Hat.

Red Hat Linux 9 comes with Samba 2.2.7, and this book is based on that software. If you choose to upgrade to Samba 3.0, I advise you to use the packages from the Red Hat Rawhide directory on the Red Hat FTP server at ftp.redhat.com.

Don't let the recent lawsuits from SCO discourage you. There is a consensus within the Linux community that these lawsuits are without merit. Developers believe that even if there is any questionable code in the Linux kernel, they'll be able to substitute new code fairly quickly, which you could then easily download and install on various distributions, including Red Hat Linux.

This book is all you need to get started with Red Hat Linux on your network of Microsoft computers. In that spirit, Chapter 1, "Basic Linux Installation," and Chapter 2, "Installing Linux as a File Server," walk you through the installation process. Once you've completed these chapters, you'll have all the software you need to set up a Linux computer on a Microsoft network.

Chapter 3, "Setting Up Your File Server System," and Chapter 4, "Setting Up Your File Server's Users," show you how to set up Samba on your Linux computer. In Chapter 3, you'll examine the graphical tools included with Red Hat Linux that can help you configure Linux on a Microsoft network. In Chapter 4, you'll see how to make this work with users and groups on a network. In both chapters, you'll see how this works on the governing Linux configuration files.

In Chapter 5, "Connecting Linux Workstations," and Chapter 6, "Connecting Windows Workstations," you'll set up the workstations on your new network.

In the world of client-server networks, File and Print servers go together. In Chapter 7, "Configuring a Print Server," you'll see how to configure CUPS on Red Hat Linux as a print client and a print server on your new network.

Finally, Chapter 8, "Administration and Management," and Chapter 9, "System Backup," illustrate some survival skills that you'll use as a new Linux administrator. The information presented in these chapters isn't enough if you're serious about Linux, but it provides a start. You can learn the skills you need to become a sophisticated Linux administrator from the other books in the Linux Transfer series, or from another book by this author, Mastering Red Hat Linux 9, from Sybex.

As you go through the book, you'll work as a Linux administrator. While Red Hat Linux GUI administrative tools are much improved, you'll be running a number of utilities from the command-line interface.

In addition, the Linux community is eager to help. If you identify yourself as a Microsoft Windows administrator, I've found that Linux users will bend over backwards to help you set up Red Hat Linux. Red Hat also maintains a number of active mailing lists where you can find help for your particular needs. See www.redhat.com/mailman/listinfo.

When you update Red Hat Linux with the latest available software, what you see may look somewhat different from what I illustrate in this book. As with Microsoft Windows Update, minor and even moderate variations for installed software are a fact of life.


Click to download the free ebook: Linux Transfer for Windows Network Admins: A Roadmap for Building a Linux File and Print Server

Tags: linux, windows, server


Friday, March 03, 2010

Free book download: Learning UML 2.0

Learning UML 2.0
By Kim Hamilton, Russell Miles
...............................................
Publisher: O'Reilly
Pub Date: April 2006
Print ISBN-10: 0-596-00982-8
Print ISBN-13: 978-0-59-600982-3
Pages: 286

"Since its original introduction in 1997, the Unified Modeling Language has revolutionized software development. Every integrated software development environment in the world--open-source, standards-based, and proprietary--now supports UML and, more importantly, the model-driven approach to software development. This makes learning the newest UML standard, UML 2.0, critical for all software developers--and there isn't a better choice than this clear, step-by-step guide to learning the language."
--Richard Mark Soley, Chairman and CEO, OMG
If you're like most software developers, you're building systems that are increasingly complex. Whether you're creating a desktop application or an enterprise system, complexity is the big hairy monster you must manage.

The Unified Modeling Language (UML) helps you manage this complexity. Whether you're looking to use UML as a blueprint language, a sketch tool, or as a programming language, this book will give you the need-to-know information on how to apply UML to your project. While there are plenty of books available that describe UML, Learning UML 2.0 will show you how to use it. Topics covered include:

Capturing your system's requirements in your model to help you ensure that your designs meet your users' needs

Modeling the parts of your system and their relationships

Modeling how the parts of your system work together to meet your system's requirements

Modeling how your system moves into the real world, capturing how your system will be deployed

Engaging and accessible, this book shows you how to use UML to craft and communicate your project's design. Russ Miles and Kim Hamilton have written a pragmatic introduction to UML based on hard-earned practice, not theory. Regardless of the software process or methodology you use, this book is the one source you need to get up and running with UML 2.0. Additional information including exercises can be found at www.learninguml2.com.

Russ Miles is a software engineer for General Dynamics UK, where he works with Java and Distributed Systems, although his passion at the moment is Aspect Orientation and, in particular, AspectJ. Kim Hamilton is a senior software engineer at Northrop Grumman, where she's designed and implemented a variety of systems including web applications and distributed systems, with frequent detours into algorithms development.

Click to download the free ebook: Learning UML 2.0

Tags: uml


Friday, March 03, 2010

Free ebook download: Learning Ruby

Learning Ruby
by Michael Fitzgerald
 
Publisher: O'Reilly
Pub Date: May 01, 2007
Print ISBN-10: 0-596-52986-4
Print ISBN-13: 978-0-59-652986-4
 
Pages: 255


Preface
Ruby has gotten a lot of attention since the appearance of Ruby on Rails, the web application framework written in Ruby. The attention is way past due. Ruby has been around as long as Java but enjoyed only limited attention outside of Japan until around 2000. In the last few years, Ruby's popularity has steadily grown, and with good reason.

Who Should Read This Book?
Generally, I figure two kinds of readers will buy this book: experienced programmers who want to learn Ruby, and new programmers who want to learn to program. I have the interesting job of catering to both while trying not to tick off either. It's a balancing act, and this is how I'll handle it: I am going to address you as if you are already a competent programmer, but I'll also provide plenty of help for beginners, mostly in the form of notes or sidebars. I'll let you know when you can skip a section if you are already a heavy hitter.

If you're a fairly experienced programmer, you might just want to read the code examples first, from the beginning of the book to the end, skimming the explanations surrounding the examples as needed. You should be able to see what's going on fairly quickly just by keeping your eyes on the code. The code is laid out in a more or less logical fashion (to me at least), so you should be able to figure out Ruby in fairly short order. If you are new to programming, I have attempted to make your job a little easier by explaining things as I go along.

How This Book Works
Do you have to know everything about a car before you start driving? Did you have to know anything about fuel injection, combustion, or timing belts to drive? Of course not.

It's the same with programming in a new language. I am going to show you lots of Ruby programs, many of them just one-liners, and then tell you how and why they work—just enough to get you rolling down the road. I take this approach because I believe we do most of our learning by observing, imitating, and playing. I plan to do a lot of that in this book.

You should know up front that this is a just-get-in-and-drive book. In other words, you can drive a car even if you don't know whether its got six or eight cylinders.

David Heinemeier Hansson, inventor of Ruby on Rails, said something I like: "People learn by changing a little thing, reloading, and seeing the change." He's right on. That's my experience: over the years I have learned more by hacking code than by reading about it.

I also move as quickly as possible, not getting bogged down in the quicksand of details. The details will come in time, as they are needed; the main thing I want to give you now is forward movement and momentum.

If you just follow along with what I'm doing, running the programs and altering them to your taste, you'll learn quickly. The more you run these programs, the more fluency you'll develop, and before long, you'll start thinking and even dreaming in Ruby. Then you'll just take off on your own.

The latest stable version at the time I am writing this is 1.8.6. That's the version I'll be using. You can probably get along using an older version, but unless you have 1.8.6 or later installed, I can't guarantee that all the programs in this book will work as advertised, though they most likely will.

About the Examples
I think we learn best by observing what others do, then imitating what we observe. That's how we learn as children, anyway. And that's why you'll find code examples—to observe and imitate—on nearly every page of this book.

Many of the examples are available for download from http://www.oreilly.com/catalog/9780596529864. The idea is that you will have enough examples in your hands to start most of the basic programming tasks.

How This Book Is Organized
Learning Ruby is organized into 11 chapters. A brief synopsis of each follows:

Chapter 1

Introduces many Ruby basics, such as where to get Ruby, how to install it, and how to run a large cross-section of programs to enable you to start using Ruby immediately.

Chapter 2

Gallops over the Ruby terrain at a brisk pace, covering briefly the most important features of Ruby.



Chapter 3

Explains and demonstrates how to use conditionals (like if and while) in Ruby, including looping mechanisms.

Chapter 4

Introduces how to manipulate strings in Ruby (includes a section on regular expressions).

Chapter 5

Shows you how to use operators, basic math functions, functions from the Math module, rational numbers, etc.



Chapter 6

Talks you through Ruby arrays.

Chapter 7

Demonstrates hashes in detail.

Chapter 8

Reveals how to process files with Ruby, including reading and writing files, and so on.

Chapter 9

Discusses Ruby classes in detail, including a tiny introduction to object-oriented programming (OOP), instance variables, instance methods, class variables, class methods, modules, and mixins.

Chapter 10

Introduces a variety of topics of interest, including RubyGems, reflection, metaprogramming, exception handling, and more.

Chapter 11

Gets you acquainted with some of the essentials of Rails and includes a short tutorial. (You have to give credit to Ruby on Rails for improving the visibility of Ruby.)

Appendix A

Presents all the reference material from the book in one location.

Appendix B

Provides answers to the review questions found at the end of the chapters (more than 100 questions and answers).

Glossary

Provides a list of terms related to Ruby programming and their definitions.

Click to download the ebook: Learning Ruby

Tags: ruby


Thursday, March 03, 2010

Free ebook download: Learning PHP and MySQL

Learning PHP and MySQL
By Michele Davis, Jon Phillips
...............................................
Publisher: O'Reilly
Pub Date: June 2006
Print ISBN-10: 0-596-10110-4
Print ISBN-13: 978-0-59-610110-7
Pages: 376


The PHP scripting language and MySQL open-source database are quite
effective independently, but together they make a simply unbeatable
team. When working hand-in-hand, they serve as the standard for the
rapid development of dynamic, database-driven websites. This
combination is so popular, in fact, that it's attracting many
programming newbies who come from a web or graphic design background
and whose first language is HTML. If you fall into this ever-expanding
category, then this book is for you.

Learning PHP and MySQL starts with the very basics
of the PHP language, including strings and arrays, pattern matching and a detailed
discussion of the variances in different PHP versions. Next, it
explains how to work with MySQL, covering information on SQL data
access for language and data fundamentals like tables and statements.
Finally, after it's sure that you've mastered these separate concepts,
the book shows you how to put them together to
generate dynamic content. In the process, you'll also learn about error
handling, security, HTTP authentication and more.

If you're a hobbyist who is intimidated by thick, complex
computer books, then this guide definitely belongs on your shelf.
Learning PHP and MySQL explains everything--from
basic concepts to the nuts and bolts of performing specific tasks--in plain
English.

Part of O'Reilly's bestselling "Learning" series, the book is an
easy-to-use resource designed specifically for newcomers. It's also a launching pad
for future learning, providing you with a solid foundation for more advanced development.


This book starts out with an overview of how all of the pieces you'll be working with fit together. Because there are multiple languages and technologies that interact to form the dynamic web pages, it's best to start with a solid foundation of how the pieces work together. The PHP that you'll learn works as a sort of a total integration package for dynamic web sites.

Next, we'll walk through installing the core software packages on your local computer. This book focuses on PHP and MySQL, but making this work also usually requires the Apache web server. The PHP interpreter works with the web server when processing dynamic content. Finally, you'll install the MySQL database. Installation is covered on the PC, Mac, and Linux systems. You can also use a hosted ISP account to develop your pages, if you don't want to install everything locally.

Since PHP plays an important role in pulling everything together, we take the time to explain the basics of working with the PHP language. This includes language essentials such as data types, program flow logic, and variables. Functions, arrays, and forms each get their own chapter to fully explore them.

Since you may be new to databases in general, we ease into MySQL by first explaining concepts that apply to designing and using any relational database. Then we give specific examples of using MySQL to interact with your data. Once you can get data in and out of the database, you'll need to work with PHP to integrate that data into your dynamic content.

Security and access control to your web pages each get their own chapter. While security may sound like a dull subject, it's still a huge issue if you store any information that's private on your web page. There are several common security pitfalls that we'll guide you around.

Finally, we close with sample applications that demonstrate how the technologies work together to rapidly build workable, fast web sites. You'll also learn where to look for additional information on the topics covered in the book.


Download the free chm ebook: Learning PHP and MySQL

Tags: php, mysql