The information and the results of the internship are honest, completely performed at the Information Technology Department of FPT Securities Company, without copying any other sources..
Introduction
Vision
FPTS aspires to become a financial institution strong, by efforts to build a contingent of cadres and technological capabilities, delivering products and highest quality service to customers life is full of material, rich in crystals god to all members.
Mission
To attach importance to investment in improving the qualifications of the team officers and employees, uphold professional ethics, to achieve maximum satisfaction and trust of customers Constantly investing in research, take advantage of all strengths of technology to create the highest quality products and services, provide customers with a trading system convenient and safe, fast and accurate, fair and transparent Become the number choice one of businesses, investors in and foreign.
Core Values
Identifying people as the core strength, FPTS always focuses on building a professional working environment industry, dynamic, bearing the FPT culture Thanks to our efforts in building human resources, appreciating talents, paying attention to training staff, promoting professional ethics, FPTS currently has nearly 400 cadres and experts with high professional qualifications and experience in working in the whole domestic environment and internationally
With concentrated investment and maximum exploitation of technological advantages, FPTS has successfully built a public system information technology of international standards
With modern equipment and advanced technology, FPTS's trading system can serve a very large number of transactions
Large customers with high speed, anytime, anywhere in the trading floor as well as by phone or internet
8 The stock trading platforms are selected to meet current and similar requirements hybrids according to international standards, being used widely in countries with very stock markets development such as Australia,
UK, Hong Kong, India, Malaysia, Singapore,
FPTS Web sites are authenticated by a reputable organization in the world with SSL security protocol, ensure safety of data access and data on transmission line
Remote transactions over the Internet, over the phone are secured with a Human Authentication Device
Use - Token Card of RSA firm
Overview of FPT Securities
Company Name: FPT Securities Joint Stock Company
Email: fptsecurities@fpts.com.vn /
Website: www.fpts.com.vn
Headquarter Address: 52 Lac Long Quan Street, Tay Ho District, Hanoi City Introduce
FPT Securities Joint Stock Company - a member of FPT Corporation - was licensed established and operated under the License of the State Securities Commission issued on 13/7/2007
Over nearly 15 years of establishment and development, FPTS has continuously gained many successes public, gaining customer trust, claiming to be one of the companies leading securities in Vietnam
Consulting stock issuance / offering stock
HR consulting and solutions EzHRM;
Consulting, accounting and financial management France EzFAM; Business Plan Construction Consulting;
Figure 2 Model of Organizational structure
Da Nang City Branch Ho Chi Minh City Branch Risk Management Department
IT department is responsible for requirements analysis, feature design, programming in Web application development projects as well as participating in requirements analysis, feature design, database, programming in development projects .Net and C# product development In addition, this department is responsible for operating the database system and participating in research and presentation of new technologies
The information technology department is divided into the following sub-sections
❖ Team in charge of Web
❖ Team in charge of Database
❖ Team in charge of Mobile
Currently, I am in the team responsible for Database The team's job is to do database administration, financial tools and business development
Business Activities
Business performance results
In 2020, total revenue is recorded at VND 445.14 billion, reaching 114.14% of the plan set by the General Meeting of Shareholders Accounting profit before tax reached 250.25 billion, equivalent to 113.75% of the plan
- Revenue from securities brokerage reached 193.89 billion, with an outstanding growth of about 94% due to the lane
Wave of new investors increases into the stock market, especially stocks
- Revenue from securities advisory and depository is relatively stable, not much change
Evaluate the Company's performance in 2020
Although the Covid 19 epidemic took place around the world, heavily affecting the world economy, the Vietnamese stock market still grew in both scores and liquidity, especially in the last months of 2020 Only the VN Index increased by 14.87% (at the beginning of the year 960.99 at the end of the year 1,103.87), the HNX Index increased by 98.15% (at the beginning of the year 102.51 at the end of 203.12), the average daily transaction value reached 7,434 billion VND, an increase of 61.4% over the same period (4,605 billion VND)
In 2020, the company is in the TOP 10 in terms of share brokerage market share, fund certificates and warrants at both the Hanoi Stock Exchange (HNX) and the Ho Chi Minh City Stock Exchange
Ho Chi Minh City (HOSE) In addition, the company is also ranked 7 in the TOP
10 in terms of stock brokerage market share
By 2020, share and securities brokerage market share only funds and warrants at two Stock Exchanges securities HOSE and HNX are 3.76% and 4.31%, respectively.(The brokerage market share in 2019 on HOSE is 2.58% and on the HNX it is 4.18%)
In the past year, the company continued to research, perfecting existing technology products development and launch of a number of new products, ensure stable technology system operation effectively serve business activities
Basically, in 2020, the company remains the same scale, structure, organization, personnel and stable in all your activities.
Total revenue from business activities and financial activities implemented in 2020 reached VND 445.14 billion, completed 114.14% of the revenue plan in 2020, an increase of 13.23% compared to the implementation in 2019 Total profit The realized pre-tax profit for the whole year 2020 reached VND 250 billion, completing 113.75% of the 2020 profit plan, an increase of 7.06% compared to the implemented in 2019
In 2020, the company has opened 15,821 new underlying securities trading accounts and 7,356 derivative securities accounts for investors Number of investor accounts opening trading accounts securities at the Company as of 31/12/2020 were 157,849 underlying securities accounts and 9,995 derivative securities accounts
Basically keep the structure, scale, organization and personnel The staff at the beginning of the year was 369 people, at the end of the year 386 people
- New product: EzAdvisorSelect (selected investment advisor), EzIR service package of Corporate Finance
- Complete operation of the process system and quality assessment
- Completion of the 2019 dividend payment in cash to shareholders at the rate of 5% and in shares at the rate of 10% Accordingly, the charter capital of FPTS increased by 10% to 1,322,673,490,000 VND Disclosure of information fully, promptly and transparently
Internship Process
Tools and Programming language
Oracle is one of the largest providers in the technology market today The name Oracle is the abbreviation of its flagship product, the relational database management system (RDBMS), officially the Oracle Database Database software is often central to a company's IT business, supporting a variety of tasks including transaction processing, business intelligence (BI), and analytics applications
Visual studio is a powerful supporting software to support website programming This tool is created and owned by the giant Microsoft technology In 1997, the programming software was codenamed Project Boston But then, Microsoft combined development tools, packaged into a single product
Visual Studio is a collection of everything related to application development, including code editor, designer, debugger That is, you can write code, fix errors, edit application design easily with just one Visual Studio software Not stopping there, users can also design interfaces and experiences in Visual Studio like when developing Xamarin, UWP applications by XAML or Blend
- Important features of Visual Studio Code:
If with other programming tools usually only used for one of the following 3 operating systems: Windows, Linux, Mac Systems, on the contrary, Visual Studio allows you to program easily on all three platforms above without meet any obstacles
Also, Visual Studio scores in the eyes of the user thanks to the advantage of supporting multiple programming languages at the same time from C / C ++, C # to
F #, Visual Basic, HTML, CSS, JavaScript Therefore, it can detect and prompt notification as soon as the program has errors
Like every other IDE, Visual Studio also provides a code editor that supports code completion and syntax clarification using IntelliSense.This tool is not only used for functions, variables, and methods, but also applies for language constructs including query or control loops
In addition, the Visual Studio code editors also support setting bookmarks in code to help users easily navigate through the code block, incremental search
In particular, Visual Studio also has the function to compile the background code to provide feedback on syntax or compile errors and are marked with red dashes.
This design of Visual Studio is used with the goal of building GUI for Windows Forms, to build controls inside or lock them to the side of the template The data presentation controller can be connected to database sources or queries
Like on design features WDP Designer allows users to drag and drop metaphors This function is used for human-computer interactions targeted at the Windows Presentation Foundation
Visual Studio also provides a website editor and designer that allows you to build web pages through drag and drop functionality This makes it easier for users to build websites Especially for businesses that need to build simple websites such as: designing tourism and education websites, you can use this method and still allow you to own a website with complete functions
Want to use a programming language that Visual Studio doesn't have available? It's very simple, just download the tool's repository of extensions and you're done Especially, downloading these functions does not affect the performance of Visual Studio because they work completely independently of each other
The need for secure storage in programming is enormous With Visual Studio, users can rest assured about this problem Because this tool easily connects to Git or any existing repository and ensures high security for them
➢ Storing data in a hierarchical form
In Visual Studio most of the code files are stored in equivalent folders In addition, with particularly important files, Visual Studio also provides hierarchical folders to help users easily store and search data
Using Visual Studio, users can drag or copy code directly from GitHub These codes can then be changed and saved in the software
PL / SQL (Procedural Language / Structured Query Language) is a procedural programming language used for Oracle SQL It is an extension of Oracle SQL
PL / SQL includes procedural language components including conditions and loops It allows declaring constants and variables, procedures and functions, data types and variables of data types, and triggers It can handle exceptions (run-time errors) Arrays are also upgraded for use with PL / SQL collections From version 8 onwards it includes more object oriented features It can create a PL / SQL unit such as procedures, functions, packages, data types, triggers, which are stored in the database and reused by any application that communicates with an Oracle application
HTML stands for Hyper Text Markup Language, meaning hypertext markup language HTML is used to format and display text on the browser to the user It is the backbone of a website
Hyper Text: Hypertext means "text in text" A text containing a link is a hypertext Each time you click on a word, it takes you to a new web page, which is the hypertext
Markup Language: markup language is a programming language used to make writing more interactive and flexible It can put text in images, tables, links
An HTML document contains multiple HTML tags, and each HTML tag contains different content
1 This is a very easy and simple language
2 It is very easy to present effectively with HTML because it has many formatting tags
3 This is a markup language so it can be used flexibly to design web pages with text
4 Can link to other websites
5 Is a platform independent as it can display on any other platform like Windows, Linux and Max
6 Can add images, videos, sounds to the web pages to make it more engaging and interactive
CSS - Cascading Style Sheet is a programming language to format and design website interfaces As a result, the displayed content will become more user friendly However, it does not have any effect on the content of the website
When approaching a website, the first thing that users care about is the display interface Therefore, CSS will be of great help in keeping visitors staying longer, limiting page bounce, increasing engagement,
Not only that, the website management also becomes simpler Thanks to this language, programmers will save maximum time and effort writing code With the support of CSS, your website is also optimized and speed up
Practices
▪ Chapter 2:Create / Alter table / Drop table
- Requirement: a Create table Emp table based on the following table and confirm table is created b Alter table Emp table add “Email” column Confirm table is altered c Drop the Emp table
Apply the codes given in the document to complete the request
Easy to complete, easy to code, and no problems
▪ Chapter 3: Select statement/ Where/ Insert statement/ Update statement/ Delete statement/Joining Table
- Requirement: a The HR department needs to find the names and hire dates for all employees who were hired before their managers, along with their managers’ names and hire dates
Figure 3 Chapter 3 a b The HR department needs a report with the following specifications:
Last name and department ID of all the employees from the EMPLOYEES table, regardless of whether or not they belong to a department
Department ID and department name of all the departments from the DEPARTMENTS table, regardless of whether or not they have employees working in them
20 Write a compound query to accomplish this
Figure 4 Chapter 3 b c Create table My_Employee from Employees table
Create Insert statement to insert the following row:
Analyze the requirements of the problem, then apply the code to fulfill the requirements
Easy to complete, has done this kind of requirement
▪ Chapter 4: Create simple & create complex view/ Drop view/ Using view
- Requirement: a The staff in the HR department wants to hide some of the data in the EMPLOYEES table They want a view called vw_EMPLOYEES based on the employee numbers, employee names, and department numbers from the EMPLOYEES table They want the heading for the employee name to be EMPLOYEE b Department 50 needs access to its employee data Create a view named DEPT50 that contains the employee numbers, employee last names, and department numbers for all employees in department 50 You have been asked to label the view columns EMPNO, EMPLOYEE, and DEPTNO For security purposes, do not allow an employee to be reassigned to another department through the view
Apply the codes given in the document to complete the request
Easy to complete, easy to code, and no problems
- Requirement: a You need a sequence that can be used with the primary key column of the departments table The sequence should start at 200 and have a maximum value of 1,000 Have your sequence increment by 10 b Create a nonunique index on the NAME column in the departments table c Create a synonym for your EMPLOYEES table Call it EMP
Apply the codes given in the document to complete the request
The instructions in the document are not specific, I had to go online to look up how to do it and learn from example
▪ Chapter 6: PL/SQL/ Variables/ Control Structures/ Handing Exceptions
- Requirement: a Using the DECODE function, write a query that displays the grade of all employees based on the value of the column JOB_ID, using the following data:
None of the above → 0 b Display the last name, hire date, and day of the week on which the employee started Label the column DAY Order the results by the day of the week, starting with Monday
Figure 6 Chapter 6 b c The HR department needs a report to display the employee number, last name, salary, and salary increased by 15.5% (expressed as a whole number) for each employee Label the column New Salary d Create table Emp3 table based on the structure of the Employees table Use cursor to insert data from Employees to Emp3
Analyze the requirements of the problem
Based on the instructions in the assigned document, try the examples and then apply them to do my requirements
The instructions in the document are not specific, I had to go online to look up how to do it
▪ Chapter 7:Single-row function/ Multiple-row function/ User-defined function
- Requirement: a The HR department wants to find the length of employment for each employee For each employee, display the last name and calculate the number of months between today and the date on which the employee was hired Label the column
MONTHS_WORKED Order your results by the number of months employed Round the number of months up to the closest whole number b Display each employee’s last name, hire date, and salary review date, which is the first Monday after six months of service Label the column REVIEW Format the dates to appear in the format similar to “Monday, the Thirty First of July, 2000.”- c Create a query that displays the employees’ last names and commission amounts If an employee does not earn commission, show “No Commission.” Label the column COMM
Analyze the requirements of the problem
Based on the instructions in the assigned document, try the examples and then apply them to do my requirements
The instructions in the document are not specific, I had to go online to look up how to do it
A stored procedure or in simple a proc is a named PL/SQL block which performs one or more specific task This is similar to a procedure in other programming languages
- Requirement: a Create store procedure to update data Departments table with input parameters is columns, return a message to indicate whether the operation succeeded or not b Create stored procedure to insert data into Job_Grades table with input parameters is all columns, return a message to indicate whether the operation succeeded or not c Create stored procedure to delete data into Job_Grades table with input parameters is Grade column, return a message to indicate whether the operation succeeded or not d The HR department needs a report that displays the last name and hire date for all employees who were hired in 1994 Write a stored procedure to get data with input parameter is year
Apply the codes given in the document to complete the request
After reading the documentation, I didn't know how to do it
I found the code online and taught myself to complete the requirement above
▪ Chapter 9: GRANT statement/ Revoke/ Job
- Practices: a Grant another user access to your job_grades table Take back the privilege from the user b Grant another user query privilege on your table Then, verify whether that user can utilize the privilege There are three users: user01, user02, user03 c User01 contains: Employees d Grant user02 privilege to view records in Employees table Include an option for this user to further grant this privilege to other users e From user02, write to query Employees table of user01 f Grant privilege to view records in Employees table to a third user g Take back the privilege from the user who performs step 1 (user02) h Grant another user query and data manipulation privileges on your Departments table Make sure that the user cannot pass on these privileges to other users i Take back the privileges on the Departments table granted to another user
Below is the interface made by me a Using CompareValidator
Figure 8 ASP.NET result b Using Validation Control, Page Validation
Figure 9 ASP.NET result c Create Number box User Control
Figure 12 ASP.NET result d Creating a datepicker user control for textbox
- Requirement:Using stored procedure in Oracle, ODP.NET asp.net C# to search and insert data
Having trouble linking Oracle data to Visual Studio
Took a long time to do this, got the code wrong and had to fix it many times However, after completing this section, I learned how to connect data and realized that I still have many shortcomings that need to be added more
Layer indicates logical separation of components, such as having distinct namespaces and classes for the Database Access Layer, Business Logic Layer and User Interface Layer
Figure 18 3 Layer Architecture Figure 17 OPD.NET result
- Requirement:Using 3 layers architecture and stored procedure, ODP.NET with schema hr/hr ORACLE, table DEPARTMENT, EMPLOYEES, asp.net C#
This request takes a long time to complete because this section has many requirements to fulfill
Had to consult a lot online and then learn how to code and apply it to my work
Conclusion
After 6 weeks of internship and working in FIT, I have had new experiences in a professional working environment that I have never experienced before and this is also a memorable and important experience for my career path in the future
The knowledge learned at school is considered the basic foundation for the position I undertakes I have learned a lot of new knowledge related to the field as well as practical work
After learning about Oracle, I find it has some differences compared to MySQL I have learned before The language used by Oracle is PL/SQL i.e SQL procedural language whereas, SQL Server uses T-SQL i.e Transact-SQL In Oracle, the database is shared between all schemas and users, although users may be restricted from accessing certain schemas or tables through roles and permissions On the other hand, in SQL server, the database is kept private on the server, the user is given credentials to grant access to the database Oracle is more complex but powerful whereas SQL is simpler and easier to use The syntax of the commands used by Oracle and SQL is also different
During the internship, I was able to practice the business using Oracle The instructor explains and introduces the professions related to the job With the first chapters about Oracle, it is quite simple for me because I have already learned about MySQL However, later on, I have difficulty in fulfilling the request because Oracle is much more complicated than MySQL.But thanks to the help of the instructor as well as my own learning, now I can confidently manipulate business operations smoothly
Besides, I have learned how to create a web site with some basic functions, linking the database with the website to get information For a website with some basic functions, I was able to easily complete it and only encountered some difficulties in the design step However, for the website design to link with the database system and get the data, it took me a long time to complete I have done and corrected many times but it is still wrong and can not be run I consulted a lot of templates and watched video tutorials online to be able to complete this part This is a difficult but also a challenge that I need to overcome, helping me to develop myself more
The working environment here is very comfortable and dynamic with the majority of employees being young people Everyone here is very friendly and open, although I am only a trainee, I can also participate in parties and activities of this department That helps me easily adapt to the new working environment, develop soft skills and communication ability However, regulations on working time as well as clothing are not strict and uniform People don't come to work on time and often have a longer lunch break than the norm I know This can be comfortable, but it will be a bad habit and not something that will help me develop in the future
In the future, I hope I can apply all the knowledge learned during this internship in the most radical way to develop my career
I sincerely thank the university, field supervisors and my teachers for their support to help me become an overall better person, both socially and intellectually.