Saturday, February 28, 2015

Extra Blog; Retrieve, Add, Update, and Delete

On February 21, 2015, I met with my mentor and she taught me about databases. My mentor showed me a Production database she used for the Web Application System called Financial Reporting System and recommended me to read chapter 12 of the book “Murach’s ASP.NET 4.5 Web Programming with C# 2012 5th Edition” by Mary Delamater and Anne Boehm titled “An Introduction to Database Programming.” The following will be information about databases that I have learned.


The book my mentor recommended to me.
(Less pretty than that other book)


Table of contents of what I read.

First of all, there are many different types of databases, some of which are more commonly used than others, depending on the system that is being used. Types of databases are Flat-file Databases, Hierarchical Databases, Object-Oriented Databases, Relational Databases, and many others. My mentor, who is in charge of the FRS system, uses the Oracle Database and is a Relational Database. In order to access the Oracle database, she uses the PL/SQL Developer Tool. To have access to the FRS data records from the database in the PL/SQL Developer, she uses SQL code. SQL is an acronym for Structured Query Language and it is the programming language used to retrieve, add, update, and delete data records from the tables in Oracle databases. My mentor walked me through how to use SQL code to retrieve FRS records from a specific table as well as the concepts of the Relational Database.

In the Relational Database, each table consists of one or more records, or rows, that contain the data for a single entry. The tables have primary keys which uniquely identify each row. The tables can also be defined by one or more indexes which provide an efficient way to access data from a table based on the values in specific columns. Relational Database tables can relate to each other between primary keys and foreign keys, the keys that refer to the primary key of another table. When a row in a table relates to one or more rows in another table based on the keys, it is called a one-to-many relationship. When two tables are related via a foreign key, the table with the foreign key is referred to as the foreign key table and the table with the primary key is referred as the primary key table. There are also one-to-one relationships and many-to-many relationships.

Each column in a database needs to be defined a data type to determine how the computer reads each row in the column. The data type also determines what can be stored into that column, as well as the length, precision, and scale of the data. It is also possible to make the columns “nullable” in that it allows a null value to be stored in a field. A null value is like an “empty” space. It is a value that represents that something is occupying that space, but the value itself is unknown. Default values can also be assigned to each column. When new rows are added to this column, the row will contain the specified default value. Identity columns can also be made. New rows that are added to this column will contain a numeric value that is generated automatically. To restrict values that a column can hold, you can define check constraints. Check constraints can be defined at either the column level or the table level.

One of the major portions of information that my mentor gave me is the actual use of SQL code to obtain data records from the database. There are four SQL statements I learned that retrieve, add, delete, and update data. They are the Select, Insert, Update, and Delete statements.

The Select command retrieves and sorts selected rows and columns from a specified table. An example is as follows:

Select ProtuctID, Name, UnitPrice
From Products
Where CategoryID = ‘props’
Order By UnitPrice


This will result in a table being displayed, consisting of all the selected columns (ProtuctID, Name, and UnitPrice) from the specified table (Products) that meet the condition where the CategoryID is equal to ‘props’. The table will then be ordered by the specified column (UnitPrice) in alphabetical order or least to greatest if it is a numeric value. The column names can be replaced with * which specifies all of the columns in that table.

The Insert command adds a row into a table with a certain value. An example of this is as follows:

Insert Into Categories (CategoryID, ShortName, LongName)
Values (‘food’, ‘Spooky Food’, ‘The very best in Halloween cuisine’)

The values specified (‘food’, ‘Spooky Food’, and ‘The very best in Halloween cuisine’) will be inserted into new rows in the corresponding columns (CategoryID, ShortName, and LongName) in the specified table (Categories).


The Delete command is similar; it removes a certain row in the table. It is coded slightly differently:

Delete From Categories
     Where CategoryID = ‘food’


The command will delete the row(s) of the specified table (Categories) that meets the condition where CategoryID = ‘food’.


The Update command consists of setting the value of a row equal to be equal to a new value.

Update Categories
     
Set ShortName = ‘Halloween cuisine’
     Where CategoryIN = ‘food’

The value of a certain column (ShortName) in the specified table (Categories) will be set to a new value (‘Halloween cuisine’) if the condition is met (Where CategoryIN = ‘food’).

The Relational Database can contain other database objects like Views. They act like tables, but aren’t technically tables themselves. Views are predefined queries that are stored in a database and are accessed by issuing a Select statement that refers to the view. The View creates what is known as a virtual table, which is a temporary table that’s created on the server. Views consist of simple SQL statements.

The Relational Database can also contain Stored Procedures which can contain more complex and generally more SQL code than views. Stored procedures can use the insert, delete, and stored commands.

Wednesday, February 18, 2015

Answer 2

1. What is your EQ?
How can a software developer create applications that best meet customers' needs?

2. What is your first answer? (In complete thesis statement format)
A software developer can create applications that best meet customer's by having a solid foundation in programming knowledge.

3. What is your second answer? (In complete thesis statement format)
A software developer can create applications that best meet customer's by understanding the business aspects of the application.

4. List three reasons your answer is true with a real-world application for each.
  • Knowing what the customer/userbase wants is vital to making an application dedicated towards their needs; Mentor, as well as other employees at my mentor's work place continuously meet with customers and establish who will be using it
  • Understanding the business structure can allow for the application to be made and developed as effectively as possible; FRS is designed for court employees to enter, record, and calculate court records by their month-end report. This application is optimized for this task, therefore meeting their needs more effectively.
  • Ability to understand how to communicate with the customer as well as how to develop applications as a team; Conversing with customers, whether client or target audience, is common and keeps the application on track. Also, many big projects have teams of people working on them at one time. Understanding one's role, and the roles of other people will allow a more efficient work environment and a more synchronous team.
5. What printed source best supports your answer?
Vigil, Diane. "Web Design, Ad Copy and Targeting your Target Audience." Web Design Help. DianeV Web Design Studio, n.d. Web. Jan. 23, 2015. <http://dianev.com/web-design-help/web_design_basics/target_audience.html>

Describes importance of understanding the customers, establishing who and what the application will stand for, and how recognizing the non-technical side of an applications is also very important.

6. What other source supports your answer?
After notifying my mentor on my changed EQ, she stated how she thought that understanding the "business side" of the work was most important. She stated how it can give you the idea of what the customer wants, as well as how to work within the the system. Doing this can also developers to make application that are designed specifically for the customer and those who will use it.

7. Tie this together with a concluding thought.
This answer combines having knowledge of the customer/target audience, the work environment, and type of usage. I might need to reword the thesis statement a little bit to make it sound more clear and lass vague. I will need to research more about this answer so I can have an idea of what to specifically teach about during my presentation.

Wednesday, February 11, 2015

Blog 15: Independent Component 2 Approval

1. Describe in detail what you plan to do for your 30 hours.

I plan to extend the website, JIIS, that I made for my Independent Component with new content and functionality. This can include email and contact fields and using databases within the website. I might also attempt to host the code on the internet if I am able to. I also plan to learn more of both HTML and CSS from the book "HTML & CSS" by Jon Dukett that my mentor gave me previously.

2. Discuss how or what you will do to meet the expectation of showing 30 hours of evidence.

I have never learned how to use data bases before so that will take time. Also, I will receive another model service request from my mentor to work and add all the requirements to achieve 30 hours. The 1st service request required research as well as time and effort to create each aspect of the application. That took up a little over 30 hours. This will be the same.

3. Explain how this component will help you explore your topic in more depth.

Learning how to use new concepts for creating a web application, as well as completing another service request for my mentor will give me more experience in this kind of work, while giving me a better understanding of the possible answers to my questions.

4. Post a log in your Senior Project Hours link and label it "Independent Component 2" log.

Done

Thursday, February 5, 2015

Independent Component 1

LITERAL
(a) I, Jason Wu, affirm that I completed my independent component which represents 31.5 hours of work.”
(b) 
  • Duckett, Jon. HTML & CSS; Design and Build Websites. Indianapolis: John Wiley & Sons, 2011. Print. 
  • Orme, Pete. "Principles for Successful Button Design." Tuts Plus. Envato, Feb. 13, 2013. Web. Jan 16, 2015. <http://webdesign.tutsplus.com/articles/principles-for-successful-button-design--webdesign-6094>
  • Guglieri, Claudio. "20 Steps to the Perfect Website Layout." Creative Bloq. Future Publishing Limited, Dec. 9 2014. Web. Jan. 8 2015. <http://www.creativebloq.com/web-design/steps-perfect-website-layout-812625>
(c) Done
(d) I completed making JIIS, the website my mentor had me make based off of the FRS system used by the LA County courts. It contains 5 pages of information and a login page with 2 existing users right now.
  
INTERPRETIVE
Defend your work and explain its significance to your project and how it demonstrates 30 hours of work. Provide evidence (photos, transcript, art work, videos, etc) of the 30 hours of work. 

JIIS contains a Login page with 2 users (made it easy to add more), passwords for those users, error messages displaying if the user or password was not found, header and footer bars, header tabs linking to each page, graphics that I made myself, and under construction and welcome pages. There are also a logout button and animation graphics.

Me learning CSS for the 1st time

Almost finished design of the login page

Back ground Code to the login Page

 Photoshop version of the login logo

Me saving and creating Header tabs

JavaScript code of the login Page

Me first testing the program

APPLIED
How did the component help you understand the foundation of your topic better? Please include specific examples to illustrate this.

Creating JIIS helps me to experince the process of creating web applications and helps me to learn how to think and create each element of a website. I gain experience in using Visual Studio Express and programming HTML, CSS, and Javascript together. It helps back up some of my answer to my EQ. I also gained experience in creating graphical image in photoshop.