Literature review
It is vital to choose the right programming language that helps the programmer carry out transaction processing and the one that supports procedural constructs, and robust error handling (Wichmann, 1995). That programming language also needs to incorporated variable declarations and general high performance. The PL/SQL programming language has database basis, and it is also an application development language that supplements the SQL programming language with standard programming feature. It is the superset of SQL programming language. The features that this programming language adds to SQL include block structure, flow control statements and loops, customized error handling, structured data and variables and constant types (Feuerstein & Pribyl, 2014). It makes it possible for the one programming to store the compiled code into the database directly. With that possibility, the any number of users and applications can share the same functions and procedures. As a matter of fact, once the loading of the code takes place onto the memory, multiple users can use the same code simultaneously.
The users can also define triggers to enable the database execute them automatically in response to the specified events (Sharma et al., 2011). Pl/SQL is an exclusive product from Oracle Corporation and not an industry standard. The language helps in bringing efficiency to programming because if the user compiles it prior to runtime, there is high efficiency ensured in that code or program. It groups its statements into some units that we can refer to as block just like any other programming languages groups the statements into some units (Gupta, 2012). Those blocks can be anonymous or named as subprograms of procedures. There is the usage of a function in an expression, and it returns a valued top the expression before the invoking of a standalone statement. It then passes the value to the calling program using parameters only. It is also possible to nest those subprograms into one another and then into larger units known as packages. The daily responsibilities of a PL/SQL programming entail writing programs, queries, and functions so as to manipulate the structure and data of a database.
There is also a responsibility of querying databases and then generating reports that is vital to the decision-making process of an organizations or any business (Parker & Ottawa, 2006). PL/SQL ensures that those tasks take place in the required manner so as to deliver a high-quality code that lead to the delivery of high-quality reports or queries. Pl/SQL development takes place on the Oracle database, and the developers may also work with MySQL and the Microsoft SQL Servers, or any other database system (Hellstrom, 2015). It requires the SQL developer to have a thorough knowledge of SQL programming analytics ability and a strong logic. The software development arena requires that the developers report to the managers and the software development team leads. Because of that, it is a requirement that a PL/SQL developer handles the successful delivery of the development projects for software as well as support the production development. Those are the responsibilities that I will ensure that they take place while working in the i5 Tech Company as highlighted in my introduction and methodology.
The PL/SQL developer requires having active participation in software design and solutions while ensuring that he/she develops the company systems forward to deliver a high quality managed solution. PL/SQL language offers to the developer elements that are imperative to the software or application development task (Gupta, 2012). One of the elements includes organized code management packages that serve the purpose of making the locating of the code easy as well as its understanding and reuse. There is also the easy of top-down application design. That is because a separation between the public interface and the implementation if a crucial feature required for any package. That ensures that the programmer can code and compile a package with the absence of the body. When there is such vital separation of the public interface and the body, there is the possibility of developing an application in a modular fashion and not face bottlenecks. The bottlenecks arise due to incomplete implementation details in the code or application.
Both the bottom-up and the top-down development approaches are strategies that are useful for the processing of information and knowledge ordering (Dell Corporation, 2006). These tasks are vital in many areas such as software, scientific theories, humanistic, management, and organization. The top-down approach to PL/SQL development also known as decomposition, it is vital in breaking a system down to gain more understanding of the same regarding its compositional structure. In this approach, there is formulating of a system, making specifications although there is no detailing of any first-level subsystems. There is then the refining of the system into greater detail, and sometimes this may take place in many additional levels until the developers reduce the system into its base elements (Wile, 2002). It mean than the PL/SQL language helps in the reduction of the complexity of the task of development as in the case of bottom-up approach. The latter approach is where there is the piercing together of systems to form a more complex system meant for making g the original system be a subsystem of the emergent one.
The other powerful element of the PL/SQL is what the programmers call painless implementation changes because the language helps to eliminate the havoc or making changes to the subprograms. In many of the programming languages, making changes to a subprogram creates havoc with the other programs that might be referring it. With PL/SQL, there are no changes required in the dependent objects if only the there is the changing of the code in the package body (Tutorialspoint.com, n.d). It is also possible to ensure security and maintainability in the code when using this application language. It makes it possible to specify which of the items, types and subprograms that is private or public. Also, the ability to have in a package some private portions makes it impossible to access them publically. That is essential as it helps in protecting the integrity of that package as well as simplifying the maintenance.
PL/SQL also incorporates session-wide persistence of the public variables. That means the package public cursors, as well as the variables only, persist as long as the session is not over. They let the programmer to maintain the data across many transactions without the need for storing it in the database. They help in the storage of the values that have session-wide relevance like the debug/trace options. Better performance in PL/SQL language is possible through the loading of the package into the memory after the invocation of the packaged subprogram for the first time (Urman et al., 2004). There no disk I/O operations required for later calls to the subprograms that are in the package. All this translates to better performance than the SQL itself and other application programming languages.
Proposal
In the i5 Tech Company where I will be carrying out my research as an intern, I will have involvement in many tasks as highlighted in my introduction and methodology. Those tasks will relate to the PL/SQL development as I will be working as a PL/SQL developer in this company. I will have involvement in vital projects development with this language in question and in all those tasks I will be interacting with various teams of experts so as to understand what is in the requirement of me. Other tasks I will be in the requirement to carry them out alone while others I will be working with other teams or groups of professional for the purpose of quality and accountability. All those tasks have a division into five iterations including orientation, training, gathering and understanding the user requirements, coding, and testing and implementation. Those iterations have an explanation in the following paragraphs.
Orientation
The orientation session is where I will have the explanation of how the organization works, its structure, models of operation, management, working procedures and guidelines among others. I will have to know the limits of my duties and conduct so as not to have trouble in failing to adhere to the company rules and regulations regarding conduct and internship responsibilities. There will also be the issuance of the intern card that I will be using to identify myself as a legally taking my internship in the company.
Training
In the training phase where will be the task of helping me to know the areas that I will be handling during my internship in the company wherein, I will be taking my internship. There will be through training on the PL/ASQL coding principles and the rules that I ought to follow to ensure that I am in line with the international standards of coding in this language. There will be an assessment at the end of the training to test my understanding of the basics in taught during the training session as this will determine the project that company will assign to me.
Gathering and understanding user requirement
During the session of gathering and understanding the user requirements, I will have involvement in meeting and interacting with various end users of the application to have development. That will be helpful to me as I will understand the requirements clearly so as to code in light of those requirements. The development team will have to verify the data after analysis before giving me a go-ahead with the development. The company will assign to me one of the PL/SQL developers and one of the project development team members to help with the consultation services.
Coding
In the coding phase, I will begin the process of developing the required application that is the actual project development. It is the phase where I will have much work. It will require me to have regular contact with my supervisors so that I will carry it out in the required way and deliver unit within the specified time and quality.
Testing and implementation
In the testing and implementation phase, there will be the testing of the developed application for errors. The task will have performance in collaboration with the project development team and after the testing there will be the implementation of the developed application. It will be the last iteration in the company.