Working with Database
What Do I Want To Do With My Life
One of the most important and useful applications in the field of computer science is the dissemination of information. To do this efficiently and in a practical manner, computer scientists are performing a lot of research in the field of database design and application.
One of the main problems with most database applications is that they are archaic and very difficult for the average user to access productively. Also, many users do not even have access to the databases that contain the information that they are searching for. To alleviate this problem database administrators and researchers are now working on the aspect of integrating database technology with network technology.
This is the area of computer science in which I would like to work. Currently, most of my on the job training is concerned with web design and programming. I have worked in a large project environment, working on a team to help produce the NASA educational outreach website called the Observatorium. I have also worked as a solo web developer on personal web pages and for organizations that I belong to.
I have had only minimal experience with databases, and this experience has only been from class-work. In addition, the only environment that is taught has been working with Oracle databases and programming it in SQL and PL/SQL.
This can be an advantage and a disadvantage. While Oracle is one of the most popular database systems in the world, other database systems are widely used in many cases. However, principles learned from working with the Oracle databases can be applied different systems.
In this career I would mainly be responsible for the design and implementation of database systems. Usually teams of people design databases; these teams consist of a project manager, usually the most senior member, and junior and senior designers. When starting out, a person is usually assigned as a junior designer. Senior designers usually supervise these people closely. Other than the designers there are also Database Administrators (or DBAs).
DBAs are the people that work with the database after the design phase. They work with the database on a daily basis, performing maintenance and other tasks on the database. Most of the times these individuals will work for the company that is using the database instead of the design firm. Being a DBA requires a lot of experience with databases and is usually one of the last rungs on the ladder in working with databases.
DBAs, Database Project Managers or Senior Designers are considered on the top on the progression. Usually, an individual has to spend a lot of time working underneath a senior designer or DBA to get the level necessary to be promoted to that level.
This means that a client would come to the firm I worked for and request that we design a database for them. When a database is designed for an industry or business the person designing the database needs to know everything about the way the business/industry works.
This is one of the most important parts of database design. If the designer does not know how the database is going to be used and what kind of data goes into the database, then the database that they design will not be very useful.
Also, if a team is designing the database, they need to agree on a set list of rules for the database. This is also a very important part of the design process. A set of rules and procedures for designing the database needs to be set up and not deviated from for the entirety of the project.
All of this knowledge is mainly learned from experience. However, to work with Oracle databases, and some other systems, it is required to take approval exams to become certified in these systems.
Helpful Websites for Job Hunting
http://www.dice.com. This website is specifically designed for IT (Information Technology) careers and professions. This website has very useful search tools for finding a certain job, with a certain company, in a certain area. Or for those with no idea of what they want it can search for any job, with any company, in any area of the country.
http://www.collegegrad.com. Collegegrad.com can offer a lot of help to the recent or soon-to-be graduate that is looking for their first real job. It offers help with writing résumés, applying for that first job, and gives advice about interviewing for a job.
http://www.rileyguide.com. This is another website that offers a large knowledgebase for those that are searching for their first job. It is very similar to the collegegrad.com website but since much of the advice supplied by both pages is subjective the addition of another source is a great advantage.
Journal/Magazine Career References
http://www.itworld.com/AppDev/13/CIOdata_content/ This resource came from the ITWorld Website. It would have been possible to get all of the references needed for this section of the paper from this website. The site had a large selection of articles and reference material relating to the various fields of computer science.
This particular article dealt with practice of database design and management. It uses the example of the Montana State Correctional Facility attempting to catalogue all of their inmates for a national repository of data on criminals. They were having a problem with warehousing all of the data and keeping it current.
When working with databases it is extremely important to start out with a good design. A bad database design can ruin any attempts at keeping data current and easily retrievable. This problem became evident in the Montana State Correctional database. Because of bad database design it became ridden with bad data. When a database becomes corrupted by bad data due to bad database design, or other factors, it can render the database useless.
When the problem was discovered officials brought in help from numerous firms from across the nation. Consultants from Kansas, Boston, and Pittsburgh were enlisted to fix their database and redesign the way that they kept their data.
In this article, I mostly saw the same kinds of problems that I have studied in coursework. However, in this article I was surprised by the amount of work that had to go into fixing a production database (a database that is regularly being accessed, modified, etc).
The article gave me a good impression of the scope to which database problems can cause difficulties. It also impressed on me the importance of doing it right the first time. If a database is designed properly from inception then, in a perfect universe, the database should be able to work for a long time without any intervention. That is, until, changes to database structure are needed (i.e. adding new data fields, new functionality, etc).
http://developer.earthweb.com/dlink.resource-jhtml.72.1089.|repository||networking|content|article|2001|02|20|NTPoseyMSOutage|NTPoseyMSOutage~xml.0.jhtml?cda=trueS This article came from a website that mainly is designed for the dissemination of programming knowledge. Up until recently they were mainly an online resource for programming tutorials and FAQs about programming principles. Now, articles and news items supplement that information. This article is a bit of both.
The article analyzes computer network security principles by analyzing a recent crack of Microsofts Web Site using a popular cracking method known as Denial of Service Attack. Denial of Service works by overworking a server so that it will be overwhelmed and be unable to be accessed. Usually this attack is aimed at a server, in Microsofts case it was aimed at one of their network routers. A router is a device that takes an incoming network connection and disseminates it to various networked devices. These devices are sometimes, mostly incorrectly, also called hubs.
The article goes into depth on the premises that caused Microsofts network to be vulnerable to this attack. In a properly set up system, this attack should not be possible, says the article. Two critical design flaws in Microsofts network that made it vulnerable to attack allowed the attack.
The main problem that I had with this article was that it did not give enough specific information. It said that there were design flaws and it briefly went over the specifics of this problem. However, it quit short of giving specific information on the principles behind fixing the problem.
Coming from a traditional news service this would not be surprising or uncommon, but coming from this source it was surprising. However, the article was still informative. This kind of article would work well as a starting place for research and producing a fix. The article would bring the problem to light, but it would be up to the person working as the system administrator to figure out the solution to the problem.
Synopsis Article 3
http://www.wired.com/news/print/0,1294,41813,00.html This article deals with the up and coming technology known as peer-to-peer networking. Made popular by services like Napster, peer-to-peer (P2P) networking is a system that makes each users computer a server on a network.
In traditional networks there was one server that each user would connect to. This server would then handle all of their requests for information and services. In P2P networking there can still be a central server, but each users computer can be a server as well. This promotes the sharing of information and resources between users.
Unfortunately, due to the possibilities of this kind of networking it has attracted a lot of negative attention. Since, each user is his or her own server the information that they share is near impossible to regulate. Therefore, it has opened a channel where illegal files and information can be shared freely.
However, the advantages of P2P networking are numerous. Since there is no dependency on a central server or central service, outages would be few and far between. Unfortunately, due to the bad press that P2P has received many people want to shut down all forms of it.
The idea of P2P networking is one that intrigues me. I personally have been using Napster for years and have also used its competitors (Gnutella, FreeNet, Scour, etc). The ideas presented in this article surprise me to the extent that there is little mention or discussion of the use of P2P networking for business or industry purposes.
Even though this use of P2P is in wide use, there is almost never any mention of it. Projects that use P2P networking to share information between educational and research institutions are in use and are probably the best example of how P2P can be used properly.
Plan B Anyone?
http://wks.uts.ohio-state.edu/sysadm_course/html/sysadm-1.html This website is actually the course materials used by a teacher at Ohio State University in a course on UNIX system administration. While the materials are over five years old the information is still currently applicable.
The first couple sections deal with the principles of what being a system administrator is all about. Then the book goes into more detail about each one of the tasks that is expected of a system administrator.
This resource not only gives me a good impression of what it would be like to become a system administrator but it also gives me an idea of what knowledge would be required to be a good system administrator.
The only information it gives is for administrator of a UNIX-flavored system while currently many systems are being built on Microsoft NT based platforms. However, much of the information it gives on the principles is applicable to both NT based systems and UNIX based systems.
The main problem with using materials like this in learning about system administration is that the information changes so rapidly that it is necessary to check up on current information almost daily. The field operates on the principle of once something goes wrong it gets fixed, but no sooner.
Mainly, this means that when someone gets cracked into or their security becomes compromised, new information will show up that a system administrator working on the same kind of system needs to know about.
http://csrc.ncsl.nist.gov/ This website is run by the Computer Security Division of the National Institute of Standards and Technology. This website has so much information that it can be overwhelming when a neophyte, like me, attempts to glean information from it. However, it is possible to learn a lot by looking around the site.
Much of the information is highly technical, but it is possible to get a clear idea of the basic principles that are behind the information. Mainly, by looking at this level of information it can produce a clear idea of the level of knowledge and expertise that it takes to become a professional in computer security.
It also requires a great deal of adaptableness, since your level has to be better than the level of those that are trying to compromise your security. Looking through the CSRC website it becomes apparent that this level changes a large amount in a short amount of time.
One very interesting section of this website is the collection of old publications about computer security. Some of these papers are as old as 1970 and provide a unique view into the past. This section, even though the information is old, can still be very useful for the modern computer security professional. Those that dont learn from history are doomed to repeat it.
This website can be very useful, while highly technical, for those that are interested in the field of computer security. It is not very useful for the average computer user but could be invaluable to anyone in the computer science field.