前言:
Database Management System(DBMS) is a collection of programs that enables you to store, modify, and extract information from a database.It can be an extremely complex set of software programs that controls the organisation, storage and retrieval of data (fields, records and files) in a database,and also controls the security and integrity of the database. The DBMS accepts requests for data from the application program and instructs the operating system to transfer the appropriate data. Database Management System has quickly become one of the leading texts for database courses, known for its practical emphasis and comprehensive coverage.It's widely used in business applications.
主文:
Database Management System can be an extremely complex set of software programs that controls the organisation, storage and retrieval of data (fields,records and files) in a database,and also controls the security and integrity of the database.When a DBMS is used, information systems can be changed much more easily as the organisation's information requirements change. New categories of data can be added to the database without disruption to the existing system.
Database design is the process of deciding how to organize this data into record types and how the record types will relate to each other. The DBMS should mirror the organisation's data structure and process transactions efficiently. One facet of a database management system is processing inserts, updates, and deletes. This all has to do with putting information into the database. Sometimes it is also nice, though, to be able to get data out. And with popular sites getting 100 hits per second, it pays to be conscious of speed.
If the DBMS provides a way to interactively enter and update the database, as well as interrogate it, this capability allows for managing personal databases. However, it may not leave an audit trail of actions or provide the kinds of controls necessary in a multi-user organisation. These controls are only available when a set of application programs are customised for each data entry and updating function.
Organisations may use one kind of DBMS for daily transaction processing and then move the detail onto another computer that uses another DBMS better suited for random inquiries and analysis. Overall systems design decisions are performed by data administrators and systems analysts. Detailed database design is performed by database administrators.
Data security prevents unauthorised users from viewing or updating the database. Using passwords, users are allowed access to the entire database or subsets of the database, called subschemas (pronounced "sub-skeema"). For example, an employee database can contain all the data about an individual employee, but one group of users may be authorised to view only payroll data, while others are allowed access to only work history and medical data. The DBMS can maintain the integrity of the database by not allowing more than one user to update the same record at the same time. The DBMS can keep duplicate records out of the database; for example, no two customers with the same customer numbers (key fields) can be entered into the database.
There are many different types of DBMSs, ranging from small systems that run on personal computers to huge systems that run on mainframes.The three most common organisations are the hierarchical database, network database and relational database. A databasemanagement system may provide one, two or all three methods. Inverted lists and other methods are also used. The most suitable structure depends on the application and on the transaction rate and the number of inquiries that will be made.
Database researchers love to talk about relational algebra,normal form, and natural composition, while throwing around mathematical symbols. This patina of mathematical obscurity tends to distract your attention from their bad suits and boring personalities, but is of no value if you just want to use a relational database management system. In fact, this is all you need to know to be a Caveman Database Programmer: A relational database is a big spreadsheet that several people can update simultaneously.Each table in the database is one spreadsheet.You tell the RDBMS how many columns each row has.An RDBMS is more restrictive than a spreadsheet in that all the data in one column must be of the same type, e.g., integer, decimal, character string, or date. Another difference between a spreadsheet and an RDBMS is that the rows in an RDBMS are not ordered.
Relational database management systems exist to support concurrent users. If you don't have people simultaneously updating information, you are probably better off with a simple Perl script, Microsoft Access, or MySQL rather than a commercial RDBMS .All database management systems handle concurrency problems with locks. Before an executing statement can modify some data, it must grab a lock. While this lock is held, no other simultaneously executing SQL statement can update the same data. In order to prevent another user from reading half-updated data, while this lock is held, no simultaneously executing SQL statement can even read the data. Readers must wait for writers to finish writing. Writers must wait for readers to finish reading.
This kind of system, called pessimistic locking, is simple to implement, works great in the research lab, and can be proven correct mathematically. The only problem with this approach is that it often doesn't work in the real world of hurried developers and multiple simultaneous users. What can happen is that an admin page on an ecommerce site, for example, contains a reporting query that takes an hour to run and touches all the rows in the users and orders tables. While this query is running none of the users of the public pages can register or place orders.
After 10 years, the market for object database management systems is about $100 million a year, perhaps 1 percent the size of the relational database market. Why the fizzle? Object databases bring back some of the bad features of 1960s pre-relational database management systems. The programmer has to know a lot about the details of data storage. If you know the identities of the objects you're interested in, then the query is fast and simple. But it turns out that most database users don't care about object identities; they care about object attributes. Relational databases tend to be faster and better at coughing up aggregations based on attributes. The critical difference between RDBMS and ODBMS is the extent to which the programmer is constrained in interacting with the data. With an RDBMS the application program--written in a procedural language such as C, COBOL, Fortran, Perl, or Tcl--can have all kinds of catastrophic bugs. However, these bugs generally won't affect the information in the database because all communication with the RDBMS is constrained through SQL statements. With an ODBMS, the application program is directly writing slots in objects stored in the database. A bug in the application program may translate directly into corruption of the database, one of an organization's most valuable assets.
Database machines are specially designed computers that hold the actual databases and run only the DBMS and related software. Connected to one or more mainframes via a high-speed channel, database machines are used in large volume transaction processing environments. Database machines have a large number of DBMS functions built into the hardware and also provide special techniques for accessing the disks containing the databases, such as using multiple processors concurrently for high-speed searches.
The world of information is made up of data, text, pictures and voice. Many DBMSs manage text as well as data, but very few manage both with equal proficiency. Throughout the 1990s, as storage capacities continue to increase, DBMSs will begin to integrate all forms of information. Eventually, it will be common for a database to handle data, text, graphics, voice and video with the same ease as today's systems handle data.
Trackback: http://tb.donews.net/TrackBack.aspx?PostId=348551