'OR'and 'AND'Queries Mac OS
- Running Queries And Reports Tutorials
- Running Queries And Reports
- Queries And Reports In Access
- Queries And Connection Excel
Find answers with millions of other Mac OS X v10.3 and earlier users in our vibrant community. Search discussions or ask a question about Mac OS X v10.3 and earlier. Let me preface this answer by saying I’m an old git - I was around when Windows was still 3.x (and before that actually) and I worked for companies where our core product ran on DOS and maximising the amount of available RAM was a key skill - this. Aqua is the name given to what most users think of when they think of Mac OS X: the user interface, the Finder, the Dock, the windows, the translucent buttons, the high-resolution icons, the menus, and all the rest. Many users may never explore Mac OS X beyond its Aqua layer.
Home > Articles > Apple > Operating Systems
␡- The Layers of Mac OS X: Aqua
This chapter is from the book
This chapter is from the book
There is more than one way to think about dividing up a pizza. First, there is the familiar method of dividing it into slices. Alternatively, you could divide it into layers: topping, cheese, sauce, crust. Theoretically, you could also divide it into its basic ingredients: flour, water, tomatoes, garlic, milk. Each method makes a different contribution to your enjoyment of the pizza. The first method (slices) is best when you're getting ready to eat the pizza; the second is best when you are deciding what to order (such as pepperoni with extra cheese); the third is best if you are concerned about nutrition (needing to know the exact ingredients to calculate calories).
The same is true for Mac OS X. There are multiple ways to look at it and take it apart. Each way makes its own contribution to your understanding of the OS. In this chapter, I look at the major ways to 'take apart' Mac OS X. Having at least a minimal knowledge of Mac OS 9 will help, as I occasionally make comparisons between the two OS versions. But even if you've never used Mac OS 9, you'll be able to follow along.
In This Chapter
The Layers of Mac OS X: Aqua
The Layers of Mac OS X: Application Environments
Cocoa
Carbon
Classic
Java
Putting it together
The Layers of Mac OS X: Graphics Services
Quartz
Multimedia: OpenGL and QuickTime
The Layers of Mac OS X: Darwin
Mach
BSD (Unix)
Running Queries And Reports Tutorials
Domains: An Overview
System domain
Local domain
User domain
Network domain
The Libraries of Mac OS X: /System/Library
Core Services
CFMSupport
Extensions
Fonts
Frameworks
PreferencePanes
Printers
QuickTime
ScreenSavers
Services
Sounds
StartupItems
The Libraries of Mac OS X: /Library
Application Support
ColorSync
Contextual Menu Items
Desktop Pictures
Documentation
Fonts
Internet Plug-Ins
Modem Scripts
Preferences
Printers
Receipts
StartupItems
The Libraries of Mac OS X: Users/'Home'/Library
Application Support
Caches
Favorites
Font Collections
Fonts
Internet Search Sites
Keychains
Preference Panes
Preferences
Application-specific folders
Fonts in Mac OS X: Font Formats
TrueType fonts
PostScript fonts
OpenType fonts
Bitmap fonts
Identifying font formats
Fonts in Mac OS X: Working with Fonts
Font Panel window
Font smoothing and Mac OS X
International language support: basics
International language support: troubleshooting
Font utilities
The Layers of Mac OS X: Aqua
Aqua is the name given to what most users think of when they think of Mac OS X: the user interface, the Finder, the Dock, the windows, the translucent buttons, the high-resolution icons, the menus, and all the rest. Many users may never explore Mac OS X beyond its Aqua layer.
From this perspective, a user upgrading from Mac OS 9 will feel quite at home, at least initially. Much still works the same way. You still double-click icons in the Finder to launch them; you still choose the Save command from an application's File menu to save a document; you still open a folder icon to see its contents.
But you will soon notice some significant differences: a new column view, a very different Apple menu, the Dock. I discussed the basics in Chapter 3, when I presented an overview of Mac OS X.
As Mac users confront the geeky realities associated with Unix as the core of Mac OS X, they may not be aware of their newly acquired capability to run powerful relational database software. In part one of this article, I discussed the basics of how relational databases work (see TidBITS-580). This week, I want to cover some commercial and open-source databases currently available for Mac OS X.
<https://tidbits.com/getbits.acgi?tbart=06432>
As with last week’s release of FileMaker 5.5 with support for Mac OS X, most of the databases that run under the Classic Mac OS will be ported to Mac OS X. However, we’re also seeing an influx of newly available database programs. All of these databases have been around for years on different platforms; it’s only with Mac OS X that Mac users can finally run them.
It’s worth noting that, for the first time, the Mac OS finally pulls even with, if not ahead of, Windows in terms of database power. Although the Macintosh world still lacks a friendly low-end SQL database like Microsoft Access, the quantity and quality of databases available for Mac OS X is incomparable, especially if Oracle climbs aboard.
Also keep in mind that none of these databases are meant to be used directly for day-to-day data entry and queries like FileMaker or 4D. MySQL and PostgreSQL are command-line driven databases, while FrontBase and OpenBase provide only rudimentary data input and retrieval interfaces. Instead, these back-end databases work behind the scenes and are meant to be coupled with some sort of front-end interface, be it a Web page or a desktop application.
MySQL — MySQL is the most popular open source database, and unlike many databases, MySQL will handle large bodies of text, making it suitable for Web publishing and messaging systems such as those found on Web forums. On the down side, MySQL doesn’t embrace ACID (Atomicity, Consistency, Isolation, and Durability, as we learned in the first part of this article). Transaction support was added only recently, and it is rather bolted-on (MySQL transactions lock entire tables). ACID needs to be built in from the ground up. The lack of transaction support used to give MySQL a speed advantage, but PostgreSQL has been proven comparable to MySQL in many tasks.
<http://www.phpbuilder.com/columns/ tim20001112.php3>
Finally, although MySQL supports online backups, it locks the database from updates (though not read-only accesses) while performing the copy. Online backups enable you to back up your database while without having to shut it down entirely.
Bottom Line: MySQL is free and well suited for content-oriented systems, but for traditional business uses I’d go with PostgreSQL or FrontBase.
<http://www.mysql.com/>
PostgreSQL — PostgreSQL is probably the best open source database. It supports transactions, which makes it suitable for serious business use. It offers online backups, and unlike MySQL, will continue to process database updates during backups. PostgreSQL’s previous weakness of an 8K row-size limitation has mercifully gone away in version 7.1.
PostgreSQL still suffers from the need to 'VACUUM' the database routinely. VACUUM is a PostgreSQL-only, non-standard SQL command which generally cleans up a database. The VACUUM command can be time consuming (15 minutes is not uncommon), and locks out any use of the database while running. You also don’t have the option of simply letting the database get dirty – PostgreSQL will start failing mysteriously if you don’t VACUUM regularly. Different situations call for different VACUUM frequencies, but some folks perform the operation once a week, while others do it every hour.
Bottom Line: PostgreSQL is free and is the best open source database for running businesses on Mac OS X.
<http://www.postgresql.org/>
FrontBase — I really like FrontBase. Like PostgreSQL, it supports SQL92 (the latest version, circa 1992, of the international SQL standard). Each database resides in one file, making database file identification and transport a breeze. It supports online backups, clustering (the capability to have two or more machines share a database and hand off connections to one another, increasing reliability and speed), and offers raw disk support (bypassing file system overhead).
It strongly embraces ACID, requiring you commit almost every change to the database. It sports a graphical administration tool on Mac OS X and X Server, while the engine itself runs on many other operating systems (Windows NT/2000, Linux, LinuxPPC, etc.). It offers a Web-based administration tool as well. On Mac OS X, it uses the standard system Installer, which is graphical and friendly.
Unlike MySQL and PostgreSQL, FrontBase is not open source. However, there are two free FrontBase licenses. The first, the developer license, enables all of FrontBase’s features for six months (renewable), but doesn’t give you deployment rights, so you can’t let anyone else use your database. The second free license allows deployment but doesn’t allow hot backups, clustering, or external connections to the database (defined as remote connections over a network; CGI or WebObjects connections from the same machine are fine) . There’s a $999 license that allows external connections and hot backups, and a $3,499 license adds clustering.
FrontBase makes it easy to import your data, including instructions and tools to convert existing databases from FileMaker Pro, MySQL, OpenBase and Sybase. I can personally vouch that the FileMaker Pro tool works as advertised. With the converter, FrontBase plus WebObjects makes an attractive path for FileMaker Pro developers who need more power.
There are two drawbacks to FrontBase. The first is that you must enter a license number after installing the software. This isn’t bad in itself, however the license is tied to your machine’s IP address and won’t work with DHCP (which may provide your Mac with a different IP address on every restart). That can make it tricky to run FrontBase on a travelling PowerBook or a Mac on a DSL or cable modem connection that requires you to use DHCP.
A FrontBase representative informed me this is because Mac OS X Server doesn’t allow software to retrieve the computer’s Ethernet MAC address without running under the root account. Since FrontBase didn’t want to force their users to run FrontBase under root (a bad security idea), they went with what they could access: the IP address. The desktop version of Mac OS X changes that, and FrontBase will tie the license to the MAC address in the future.
FrontBase’s second drawback is that the company doesn’t offer on-site support. Although FrontBase requires little administration and their email support is quick and competent, this could be a deal breaker for some companies.
Bottom Line: FrontBase is the least expensive commercial high-end database for Mac OS X, but you can’t get on-site support.
<http://www.frontbase.com/>
OpenBase — OpenBase wins the user interface contest hands down. Its interface is elegant and beautiful, and it contains a reasonable modeling tool which graphically depicts how your database is structured. For example, it represents tables as rectangles and draws lines between them to illustrate their relationships.
OpenBase’s engine seems fast, modern, and powerful. Like FrontBase, OpenBase offers a free developer license and supports online backups. A $295 migration tool called ClickConvert helps move data from existing FileMaker Pro databases.
OpenBase’s beauty comes from Mac OS X’s Cocoa environment, which limits OpenBase’s platform support. It supports Mac OS X and X Server out of the box; however to run OpenBase under Solaris or Windows 2000, you first must purchase and install WebObjects (which brings the Cocoa frameworks along with it). Granted, WebObjects has fallen greatly in price recently, however it still adds $700 to OpenBase’s $2,000 price. OpenBase’s graphical interface is being rewritten in Java, so its future platform support should increase. Alas, technical support is only offered via email.
OpenBase is pricey, but there’s new hope for those with tight budgets. While we were preparing this article for publication, OpenBase introduced a new $499 license specifically for use with PHP, a popular tool for linking databases with Web sites. This lower price comes with two restrictions: no external connections (like FrontBase’s free deployment license) and no support for WebObjects (unlike FrontBase). However, it does allow online backups, a feature which starts at $999 for FrontBase.
Bottom Line: Ironically, the database with the highest starting price is the best for high-end relational database newbies. If you’re a highly paid consultant or need to get a database up quickly, OpenBase’s easy user interface may justify its high price.
<http://www.openbase.com/>
Oracle? There have been consistent rumors that Oracle will be ported to Mac OS X. Technically, I don’t see any reason they couldn’t do it. Oracle already runs on a couple flavors of Unix, and Larry Ellison sits on Apple’s board of directors.
Many people feel Oracle on Mac OS X will legitimize the platform, and there’s logic to that argument. Oracle is known for its power, flexibility and support. However, it is also extremely expensive and complicated, to the point where many people devote their careers to nothing but administrating Oracle databases.
<http://www.oracle.com/>
Running Queries And Reports
Making the Choice — For the budget minded, FrontBase’s free development and deployment licenses are tough to beat. If you can’t spare a dime, but require online backups, then PostgreSQL is your best choice (despite its less-friendly user interface). If elegance, ease of use or speed is important to you, I’d definitely recommend checking out OpenBase. Assuming it ends up being ported to Mac OS X, Oracle would make sense only if you’re developing a truly large, complex, or fast database with other peoples’ money.
Queries And Reports In Access
Now that we’ve looked at what makes a relational database and some of the primary contenders, be sure to look for my upcoming article on a program that brings relational databases back into the forefront of computing: Apple’s powerful WebObjects.
Queries And Connection Excel
[Jonathan 'Wolf' Rentzsch is the embodiment of Red Shed Software, and runs a monthly Mac programmer get-together in Northwest Illinois.]