The choice of DBMS product and how you use it will be partially controlled by your arrangement with your server. You might have total control over the server, or you might contract for services with an Internet service provider (ISP). The DBMS runs on the server machine.
Permissions and privileges are terms concerning the control of access to programs and databases. Think of the ability to limit access as a valuable tool for establishing how the project is to operate. You will read here how you can use MySQL commands to specify rights to use the database. The level of detail is such that you can grant rights to:
A user by name, identified with a password
On a specific computer
For a database, with a specification of
which commands (e.g., insert, select)
which tables or even fields within tables
Access does not have similar features, but other DBMS products do. However, before explaining the database permissions, please keep in mind that there might be other instances of systems restrictions of concern to your project. You need to distinguish between permissions and restrictions appropriate for the building phase of the project and you as the chief developer, and the operational stage of the project in which you and others will use the system through a browser.
For the building/development phase, you probably have a user ID and password to use a File Transfer Protocol (FTP) program, such as Ws-ftp, to upload your scripts to the server. You might be able to use that ID and password, or you might have another one for telneting to the system. This could be of use for setting up MySQL files. The approach we use at our school is not symmetric between MySQL and Access. For MySQL, we establish for each student a database in which he or she has full privileges. The id and passwords for the database are the same as their FTP ID and password. Students use programs (PHP scripts) to define tables. For Access, the students create the databases on their own computers and upload the database using ws-ftp.
For the operating phase of the project, you will use the commands to set up access from your middleware scripts to the database. The ordinary user of your scripts will not have direct access. You might choose to implement using your own programming a system of controlled access. In that system, you might define a category of more privileged use for yourself, or you might fall back on your other rights, through FTP, for example, or utilities that are available to manage the system.
MySQL is an open-source product (see www.Mysql.com). To quote from the Web site, “MySQL is available for free under the GNU General Public License (GPL). Commercial licenses are sold to users who prefer not to be restricted by the GPL terms.” The reference manual is available at www.Mysql.com/doc/en/Reference.html. The authors of the homepage note that the correct pronunciation is “my ess que ell,” but you should feel free to use any local pronunciation.
MySQL uses a command-line interface, much like the old DOS personal computers. You can use MySQL directly in the following ways:
Directly on the server computer
Through telnet on the server computer
Use MySQL on your own computer in its remote mode to operate on the server
Use MySQL on your own computer, using Internet Information Server (IIS) or Personal Web Server (PWS) or their equivalent. At some point, you will need to upload the databases along with the PHP scripts to the server
The screen shots shown in this chapter were based on the last option.
Access is a product of the Microsoft Corporation. The official homepage is www.microsoft.com/office/access/default.asp. Access generally is purchased as part of the Microsoft Office suite. In this text, it is assumed that you will do the initial creation of the database in stand-alone mode and then upload the database to the server.
It is possible to use PHP with other types of databases, including Access, and to use ASP with other types of databases, including MySQL.