"Hawaii Business License Look Up - DOC"
Database Management Systems Presented By: Team Fourtastic Bus 311 Sophea Chea April 30, 2003 1 TABLE OF CONTENTS 1. Introduction…………………………………… Pg. 3 2. Various DBMS Products and Software……. Pg. 3-5 3. Data Warehouse & Data Mining……………. Pg. 5-6 4. Operating Systems & Computer Software… Pg. 6-7 5. The Future of DBMS…………………………. Pg. 7-9 6. Conclusion…………………………………….. Pg. 9 2 Introduction Today’s information system deals a lot with computers that are composed of what we call a hardware and software system. Most people of might be familiar with the two systems since it is an important key for provided users to make use in their every day lives. These systems need a lot of data in order to function, computer technologists have created a database management system that provides capabilities for manipulating data, handles all interaction between the user and database, allows users to store, retrieve and upgrade data, it also obtains the data from the database and relays it back to the user. The most common types of database management systems are Oracle and Microsoft Access. Both of these management systems have its advantages and disadvantages. More so, these database management systems can also be furthered explained by the limitations of the data, Data Warehouses, Data Marts, Data Mining, and Data Querying. Much of the database system that will be discussed will probably have an impact in the future so before we go ahead in our discussion let’s first take a look at the most common types of database management for a better understand of what database management is all about. Various DBMS Products and Software Different database systems offer substantially different ways of storing and retrieving information, and deciding what to use will require asking yourself questions about storage and retrieval. This section tries to explore this by looking at three "classes" of database systems. This article will deal with SQL Databases. A follow-up article will discuss xBase descendants and Keyed Tables like DBM. One of the most common database questions that come up is "Where is the MS Access clone?" One thing that should be made clear is that there isn't such a thing. "Experts" tend to regard this as a good thing, as MS Access tries to do too many things all at once to be really particularly successful at them all. MS Access combines Data storage and retrieval, A multiplexing data access system, A report writer, and a form generator for data entry and other interactive data manipulation. Most of the database tools that will be described here primarily focus on the first area. By doing just storage and retrieval, reliability certainly increases. Mind you, there would be considerable merit in having a single integrated environment for data access, writing reports, and providing GUIed access to update data. There are ongoing projects to provide those sorts of capabilities, but none are yet quite as "GUI-pretty and newbie-friendly" as MS Access. There are a lot of database systems that run on Linux using SQL data access schemes. These databases are often fairly "heavyweight"; requiring considerable disk and memory resources and providing data access capabilities of considerable sophistication. 3 Since they provide a somewhat common query language, a suitably-designed application may be able to be readily ported to run on different database systems, thus allowing the ability to take advantage of differing performance properties, as well as the ability to not be forcibly dependent on any one vendor. Unfortunately, virtually all SQL database systems offer one "extension" or another that tends to tempt developers to tune their applications specifically for one database system. One of the benefits of the use of a reasonably "abstract" query language is that the database engine can do a lot of work for you. For instance, rather than having to write code to access several tables, you may construct a more complex SQL query that lets the database engine join tables together for you. The hopes typically expressed are that: You avoid writing the code to "physically" access the data, thus saving time, energy, and debugging effort. The DBMS may do a better job of optimizing the accesses than you would, and you get to avoid the debugging effort, similarly to the way C may be more productive for programming than assembly language. If performance is poor due to the DBMS not having suitable table indexes, you can add an index and watch performance improve substantially without having to write any code. Similarly, adding some memory for table buffering can improve performance without your touching a single line of code. In most cases, the database server processes support transaction capabilities, improving reliability. In practice, software bugs are sufficiently ubiquitous that you'll still need to do some debugging, and there are certainly some overheads in terms of the cost of parsing queries and submitting them to the DBMS engine. Other notable merits of SQL database systems include: They offer the ability to readily add additional kinds of data to the system. They almost always offer the ability to permit multiple users and/or processes to have robust concurrent access to data. Most offer a considerable degree of transactional robustness typically not offered by less sophisticated alternatives through the four Transaction Processing requirements, called ACID. Atomicity all transactions are either performed completely, or are not done at all; a partial transaction that is aborted must be rolled back. Consistency the effects of a transaction must preserve required system properties. For instance, if funds are transferred between accounts, a deposit and a withdrawal must both be committed to the database, so that the accounting system does not fall out of balance. In double- entry accounting, the "staying in balance" property is usually not overly difficult to maintain. The more thorny issue comes when the property is something like "Cash Balance Cannot Drop Below Zero", or "We can't ship inventory we don't have." In such cases, if you have two transactions being submitted concurrently, it could be that either could be accepted, but not both. If one of the transactions would cause balance requirements to be violated, the transaction management system needs to reject one of the transactions. Isolation Intermediate stages must not be made visible to other transactions. Thus, in the case of a transfer of funds between accounts, both sides of the double- entry bookkeeping system must change together for each transaction. This means that transactions appear to execute serially even if some of the work is done 4 concurrently. Once a transaction is committed, the change must persist, except in the face of a truly catastrophic failure. If Mongol hordes ride through and lay waste to your server room (or, sadly more likely, an unfortunate plane crash takes place), you can hardly expect a transaction system to guarantee that all is well, but a good transaction processing system should be resistant to moderately traumatic sorts of system failures such as a network link breaking down or perhaps even something as traumatic as a disk drive malfunctioning. There are really a lot of SQL database systems available to run on Linux. At one time, there was great excitement at the thought that some people at Oracle had an internal port they were fiddling with; today, almost any database vendor that offers a version on some Unix variation sells licenses for Linux. Pretty much the only major database vendor that doesn't deploy a version on Linux is Microsoft. The top tier industry names, oracle, Sybase, Informix, and IBM DB/2 are all available on Linux. Development licenses are typically available inexpensively or even for free, but production licenses tend to be quite expensive. These systems tend to be "heavyweights" in terms of feature sets, use of memory and disk, and licensing costs. They provide robust access to large amounts of data, at considerable price; if you are building an "enterprise" system, they are the common choices. They are not suitable for every purpose; other database systems often offer superior characteristics in one area or another. If you want an "Open Source" database system, a number are available. There are a number of commercial databases specifically targeted as "embedded systems". These database systems tend to put the data in a single compact location, whether that is in files in a single directory hierarchy, or even in a single file. If the database is to be used as part of an application, it is attractive if the data stays highly localized in contrast with some of the DBMS systems with which, to maximize speed and robustness, the system may manage raw disk partitions. In-memory databases take advantage of huge amounts of RAM and try to provide particularly fast query and analysis capabilities. There are also other special purpose databases providing more advanced capabilities for text searching and the like. Data Warehouse & Data Mining When an order is filled, a bill is paid, or an item is dropped from stock, data about the order, bill or item is deleted from the database. Sometimes it is useful to analyze old, historical data for many strategic business decisions. Data Warehous is a collection of data drawn from other databases used by the business. It contains data extracted from other databases over time, as well as including data taken from multiple databases within the company. The concept of Data Warehouses is to analyze data to provide users with information to help the company. A Data Warehouse contains a lot of data that helps the company; however, there are at times so much data that users have difficulty analyzing it. To solve this problem Data Marts were created. Data that is related to specific areas can be separated from the data warehouse and put into the Data Mart. By doing this it makes it easier for users to access specific data they need 5 Data Mining is the searching for patterns in the data that are not obvious. Although they are much alike, Data Mining is not like data querying. In data querying the user sets the conditions to be included. In data mining, the user asks one question to find all patterns. Data mining is better for discovering patterns in large amounts of data. Operating Systems and Computer Software Most of the present companies use some type of database system to run their day-to-day business. Our company os choice is no different, `A`ama Hui and `A`ama Surf & Sport are surf retail stores owned by a family on the island of Hawai`i. These stores are one of the only surf retail stores on the island of Hawai`i. Because they are a small retail store, `A`ama Hui and `A`ama Surf & Sport uses the “point of sale” method for business processes. The business purchases surf clothes, gear, accessories, and other merchandise from major surf company representatives, such as Hurley, Quicksilver, Roxy, Volcom, and many others, for wholesale prices. The representatives order samples of the newest styles of merchandise to present to the owners, the owners place and pays for an order with the representatives requesting specific styles, sizes, and amounts, and then the representatives order the merchandise from the major companies. Once the order arrives, the stores add the merchandise to their inventory. They can now sell the item for a reasonable market price to make a profit, which means they make their profit at the point of sale (the moment the item is sold to a customer.) Most companies begin their retailing using simple accounting on paper, but eventually convert to using computer software. Microbiz is an easy, first-time, user- friendly business software. `A`ama Hui and `A`ama Surf & Sport use Microbiz software to help them in their day-to-day business transactions, such as handling inventory, invoicing, customer tracking, accounts receivable, reordering, and purchasing. For example, when the owners receive the shipment of new merchandise, they can simply enter the amount of new inventory into the computer using Microbiz. In a transaction, or a sale, the business scans the bar code label or keys in the transaction, presses a few keys, and can produce a fully itemized receipt. As each transaction is completed, the products sold are automatically deducted from the inventory. This software saves a lot of time and effort and creates less paperwork for the owners. Most businesses hire an accountant to handle the financial aspects of running a business, but because `A`ama Hui and `A`ama Surf & Sport are small retail business run by a small family, hiring an accountant could be a major money drainer. `A`ama Hui and `A`ama Surf & Sport uses Quickbooks, another computer software that assists in the financial part of running a business. You can set up a general ledger, including accounts payable, accounts receivable, assets, and expenses. Instead of manually handling a checkbook—taking the chance of losing it or having it 6 stolen—Quickbooks can easily balance you checkbook, print checks, and even handle you credit card accounts. If you use Quickbooks correctly, you can even transfer your information into a tax software to process your tax information. Quickbooks does all of the calculations for you, which makes the accounting easier and cheaper for the owners. `A`ama Hui and `A`ama Surf & Sport are good examples for anyone who wants to establish their own small businesses. By using computer software, the owners are able to independently own and run their businesses without added costs, labor, or time spent on paperwork. Microbiz and Quickbooks are designed for the small business owner, but you can imagine the software required in managing a large business. In conclusion, businesses of today need computer software to run their businesses efficiently and effectively, especially a small business in a small town area where accountants and other assistance is limited. The Future of DBMS Database systems continue to be a key aspect of Computer Science & Engineering today. There continues to be active and valuable research on representing and indexing data, adding inference to data search, compiling queries more efficiently, analyzing performance, and extending the transaction model to handle long transactions. Representing knowledge within a computer is one of the central challenges of the field. The database industry generated about $7 billion in revenue in 1994 and is growing at 35% per year. Among software industries, it is second only to operating system software. All of the leading corporations in this industry are US-based: IBM, Oracle, Sybase, Informix, Computer Associates, and Microsoft. In addition, there are two large specialty vendors, both also US-based: Tandem, selling over $1 billion per year of transaction processing systems, and AT&T-Teradata, selling about $500 million per year of data mining systems. The future of DBMS is object-oriented databases are the next step in evolution of data management. The relational data model is dying, because it is too limited and non-intuitive for modern data needs. The industry is moving toward a more XML (object-centric approach to data management, hierarchical, tree-structured, complex data types,) instead of just columns and rows. SQL is actually an incomplete implementation of the true relational data model, and so the study of SQL itself is not enough to truly understand relational data. But it's the best we can do, for now, but we have hung on to SQL far too long, and it is time to come up with a truly capable declarative language for data management. The universities and the computer companies are losing sight of the importance of understanding data fundamentals. Instead, they are just pushing developers to learn a vendor-specific implementation. The approach to learning understands how to do instead of "why" or "why not." Companies don't look for a database designer, but for a DBMS specialist. Scalability is one of the most important questions to ask when looking for a good Database system. In the future will your company be able to upgrade easily, or will it have to clear the old one and input a whole new system? Much of the new DBMS software need to upgrade easily to meet growing needs. This is very 7 important for the company because more data requires more space. As the company grows there will be more and more customers, therefore, the Database of these customers will need to be kept up to date constantly. If the Database system is scalable the company will not have to worry about inputting new information because the system will be able to grow as the company is. There is a book called Foundation for Future Database Systems by C.J. Date and Hugh Darwen that gives an in depth view of where the future of DBMS is going. Security is another big step that DBMS is taking towards the future. Companies need to know that their data is going to be safe, especially in a world where viruses are becoming more malicious and hackers are floating around easier without being tracked. The future security of a Database will need to prevent almost every type of virus and hacker possible, not to mention the employees who use it must be very careful that their passwords and information are secure. The data integrity of a company may cause it to flourish immensely, or fail embarrassingly. People expect the data of a company to be exact, no flaws and if there are any, it’s the companies’ fault. Any future DBMS will need to always be up to date and accurate, from a change in address to what type of coffee the person drinks. As people become more dependant on technology their needs and expectations also become higher. A company called Postgre has made DBMS a lot easier to work with, their program is called PostgreSQL and it offers many advantages for a company or business over other database systems in many ways. Over-deployment is what some database vendors regard as their #1 license compliance problem. With PostgreSQL, no one can sue you for breaking any licensing agreements, as there is no associated licensing cost for the software. This gives the company more profitable business models and there is no possibility of being audited or sued for a license. The software has been designed and created to have much lower maintenance and tuning requirements than the leading proprietary databases, yet still retain all of the features, stability, and performance. PostgreSQL is mainly available for almost every brand of UNIX, however, it will be Windows compatible with the introduction of PostgreSQL 7.4. What Postgre SQL is doing to the industry is making the input process easier and more reliable, which causes less confusion and chaos for the company. Another idea that future companies with a Database system need to consider is compatibility. 8 Their system may need to be compatible not only with US-based countries, but global companies as well. More and more companies are doing business outside of the US, terms such as sole sourcing, six sigma have made companies in demand all over the world. The future DBMS of a company may have to be compatible with other countries’ software systems, language capability and much more. A final look into the future shows the use of wireless accessibility. Imagine you are flying across the world to meet with a client, what better way to find out what items your customer wishes to purchase than to show them on a handheld PDA, or laptop? The future Databases could be easily accessed by employees to help their customers all over the world. Customer service could be improved, because instead of the customer calling, the actual representative could go to the customer and access their account. Conclusion As you can see, from learning about the database system much of what we have discussed can be very useful in applying it to our everyday lives. The database management system can be a very useful asset in the business world or in the lives of people everyday. Furthermore because it has the ability to increase networking and mobility, the database system will be a great benefit for communication methods among the different businesses. After learning about the database management, it would be of great assistance when people become more aware of what they are using in the business or in their everyday life. 9