The specific objectives are: - Learn about programming software in the computer - Learn about how to management personal software - Develop and improve understanding of code, website and
Trang 1Development of student management system and applied to member
management of the Youth Union at VNU-IS
Group sciences: Vũ Quang Hiệp
Phạm Nguyễn Ngọc HàNguyễn Thị Hương GiangClass: MIS2016A
Science advisor: MSc Lê Duy Tiến
MSc Nguyễn Anh Tuấn
Trang 2CHAPTER 1: INTRODUCTION 1.1 Necessary
In recent years, with the development of science and technology, computationalscience has played an important role and it has made tremendous progress with itsleap Nowadays, the application of scientific technology to human life is increasinglycommon Information technology is one of those sciences Along with thedevelopment of computer equipment, the application of computer software products isone of the determinants of the application of this science to life
In the world in general and Viet Nam in particular, information technology hasbecome a leading industry It has become an indispensable science in human activity
as management, economics, information
In our country, the application of computer technology is no longer too strangefor companies, agencies, factories and educational systems In Vietnam, the adoption
of computer technology in companies, enterprises, agencies and educational systemshas become increasingly popular and the management of databases is becomingincreasingly urgent And why is it become so important? Because at present, theamount of information has gone beyond what people can use as rudimentaryequipment as before to manage, not only that, it is difficult to control and changeeasily, so humans need solutions to this problem It is also the problem in our schoolhave to facing
With the large number of teachers, students and many student clubs, largeamounts of information is difficult to control Especially with members of YouthUnion, we present some disadvantages as follows:
- With the number of Youth Union members is very large so the managementcurriculum vitae of each Member group is very hard, not only that, but members alsoparticipate in many clubs and study different majors So, to sum up a membership list
Trang 3With such difficulties, we must have a concrete solution to this problem And
our team has proposed a management program have name is: “Development of student management system and applied to member management of the Youth Union at VNU-IS”
This also helps students have opportunities to improve personality skill andcontribute to the School development into the future
1.2 Objectives
The general objective of the study is to build and understand of a Youth Unionmanagement system at the university The specific objectives are:
- Learn about programming software in the computer
- Learn about how to management personal software
- Develop and improve understanding of code, website and database skills
- Demonstrates the ability to speak and present a new problem
- Easily for finding information of students in VNU-IS
- Manage information of students easily
- Saving time
- Editing, updating and notification information easier
1.3 Research questions
- Have the other universities had Youth Union management system?
- Is this Youth Union management system a Web app or Native app?
- How to design a Youth Union management system?
1.4 Expert results
- Study on MySQL Database, PHP, HTML;
- The system design and analytics;
- Study on PHP programming;
- A website can be used in Youth Union management at VNU-IS
- How to write a research report
Trang 4CHAPTER 2: LITERATURE REVIEW 2.1 The Youth Union management at VNU members
Nowadays, in Vietnam National University, most universities have not a YouthUnion management system Some universities have only website but it is not amanagement system:
- Hanoi University of Science (http://doantnkhtn.vn/)
- University of Social Sciences and Humanities(http://youth.ussh.vnu.edu.vn/)
(http://thanhnien.uet.vnu.edu.vn/)
2.2 The Youth Union management at other Universities
Nowadays, most university in Vietnam have not an own Youth Unionmanagement system However, Ho Chi Minh Communist Youth Union in Ho ChiMinh City have had a Youth Union management
Figure 2.36: Website of Youth Union at Ho Chi Minh city
Trang 5Figure 37.2: Guideline to install
Figure 2.38: The interface of system
Trang 6Figure 2.39: Function of system
The main functions in this Youth Union Management are add new memberinformation, update member information, list of members based on criterions, searchunion members based on criterions, delete members and evaluate members
The kind of this Youth Union Management is Native App There are somefollowing disadvantages:
- This Youth Union Management run in only one operating system which isWindows It is not run in iOS or android Therefore, we can use this Youth UnionManagement via only Windows
- When updating new information, we must download it to our computer andinstall It is a very time-consuming process
2.3 The Youth Union management at the Universities in the World
With the above suggestions, we also have evidence of application of databasemanagement program of students in some schools nationwide in general and in theworld in particular:
Intelligent University (IU - Intelligent University) is a comprehensiveinformation management solution for universities, colleges and professional secondaryschools in Vietnam, developed and developed by Software Company CMC Solutions.The software helps schools develop an effective information management system that
Trang 7integrates all management software in the school, including annual management andcredit management, student management, major and scientific research, anddevelopment of overall solutions Management training for different training models:credit training, learning facilities and many different subjects such as university,college, junior high school With a professional team of more than 10 years ofexperience and experience, IU has been applied in nearly 60 universities and colleges
such as National Economics University, Hanoi Law University, Lao University Action and Social
The software has received positive feedback from existing customers and hasdramatically changed the management of students in many schools, such as successfulconsultancy of information technology projects Training management at the NationalEconomics University, consultancy on transforming the training model into a credittraining model for universities, colleges and professional secondary schools
IU software is a product of CMC Soft to help universities, colleges and middleschools automate the management of training and solve problems in online studyregistration It is an effective tool for connecting schools and students
It is designed to assist those who handle the work of management and training
at universities, colleges, vocational schools, etc to improve their performance as well
as support students, lecturers, leaders, focusing on the computerization of the mainprofessional processes, diversification in type and mode of training
Detailed and brief research on the software:
- Database server: Can run on the following platforms: Unix/Linux/ Window
2000 Server or higher Oracle 9i or higher
- Application Server: Can run on the following platforms: Window 2000Server / Advanced Server or higher
- Workstation: Microsoft Internet Explorer version 6.0 or higher is best Alsocan run on browsers other than IE
CHAPTER 3: METHODOLOGY
Trang 83.1 Introduction to Web Technology
3.1.1 Overview a Database
3.1.1.1 What is a database?
A database is an organized collection of data A relational database, morerestrictively, is a collection of schemas, tables, queries, reports, views, and otherelements Database designers typically organize the data to model aspects of reality in
a way that supports processes requiring information, such as (for example) modellingthe availability of rooms in hotels in a way that supports finding a hotel withvacancies
3.1.1.2 What is a database management system(DBMS)?
A database management system (DBMS) is a computersoftware application that interacts with end-users, other applications, and the databaseitself to capture and analyze data A general-purpose DBMS allows the definition,creation, querying, update, and administration of databases
However, most database management systems currently have a common feature
of using Structured Query Language (SQL) Commonly known database managementsystems are MySQL, Oracle, PostgreSQL, SQL Server, DB2, Infomix, etc Most of theabove database management systems work well on many different operating systemssuch as Linux, Unix and MacOS except Microsoft's SQL Server running on Windowsonly
3.1.1.2 Some kind of database
The Database is divided into many different categories
File database: Data is stored as text, ascii, * dbf files Typical database fileformat is * mdb Foxpro
Relational database: data stored in data tables called entities, between theseentities is related to each other called relations, each relationship has attributes, in thathas an attribute that is a primary key Relational database management systems such as
MS SQL server, Oracle, MySQL
Object-oriented databases: Data is also stored in data tables, but tables haveadditional object-oriented features, such as storing additional behaviors, todemonstrate object behavior Each table looks like a data layer, one row of data in the
Trang 9table is an object Managed systems support object-oriented databases such as MSSQL server, Oracle, Postgres.
Semi-structured database: The data is stored in XML format, with thisinformation describing the object represented in the tag This is a database that has theadvantage of storing almost all types of data, so semi-structured databases are a newdirection in research and application
Blockchain database: Data is distributed on peer-to-peer networks and is alwayschecked by the network Example: Bitcoin blockchain
In this section, focus on relational database management system( RDBMS)
In this section, focus on relational database management system( RDBMS)
- Some definitions related to databases
Datasheet: A datasheet is a document that summarizes the performance andother technical characteristics of a product, machine, component, material, asubsystem or software in sufficient detail to be used by a design engineer to integratethe component into a system
Column (database): a column is a set of data values of a particular simple type,one value for each row of the database
Row (database): a row represents a single, implicitly structured data item in atable
Redundancy: In computer main memory, auxiliary storage and computer buses,data redundancy is the existence of data that is additional to the actual data and permitscorrection of errors in stored or transmitted data Primary Key: In the relationalmodel of databases, a primary key is a specific choice of a minimal set of attributes(columns) that uniquely specify a tuple (row) in a relation (table) Informally, aprimary key is "which attributes identify a record", and in simple cases are simply asingle attribute: a unique id More formally, a primary key is a choice of candidate key(a minimal superkey); any other candidate key is an alternate key
Foreign Key: a foreign key is a field uniquely identify the relationship betweenboth tables
Compound Key: a composite key is a candidate key that consists of two ormore attributes (table columns) that uniquely identify an entity occurrence (table row)
Trang 10A compound key is a composite key for which each attribute that makes up the key is asimple (foreign) key in its own right
Index (database): A database index is a data structure that improves the speed ofdata retrieval operations on a database table at the cost of additional writes and storagespace to maintain the index data structure
Trang 11A database is a structured collection of data It may be anything from a simpleshopping list to a picture gallery or the vast amounts of information in a corporatenetwork To add, access, and process data stored in a computer database, you need adatabase management system such as MySQL Server Since computers are very good
at handling large amounts of data, database management systems play a central role incomputing, as standalone utilities, or as parts of other applications
- MySQL databases are relational
A relational database stores data in separate tables rather than putting all thedata in one big storeroom The database structures are organized into physical filesoptimized for speed The logical model, with objects such as databases, tables, views,rows, and columns, offers a flexible programming environment You set up rulesgoverning the relationships between different data fields, such as one-to-one, one-to-many, unique, required or optional, and “pointers” between different tables Thedatabase enforces these rules, so that with a well-designed database, your applicationnever sees inconsistent, duplicate, orphan, out-of-date, or missing data
The SQL part of “MySQL” stands for “Structured Query Language” SQL is themost common standardized language used to access databases Depending on yourprogramming environment, you might enter SQL directly (for example, to generatereports), embed SQL statements into code written in another language, or use alanguage-specific API that hides the SQL syntax
SQL is defined by the ANSI/ISO SQL Standard The SQL standard has beenevolving since 1986 and several versions exist In this manual, “SQL-92” refers to thestandard released in 1992, “SQL:1999” refers to the standard released in 1999,and “SQL:2003”refers to the current version of the standard We use the phrase “theSQL standard” to mean the current version of the SQL Standard at any time
- MySQL software is Open Source
Open Source means that it is possible for anyone to use and modify thesoftware Anybody can download the MySQL software from the Internet and use itwithout paying anything If you wish, you may study the source code and change it tosuit your needs The MySQL software uses the GPL (GNU General Public License, todefine what you may and may not do with the software in different situations If youfeel uncomfortable with the GPL or need to embed MySQL code into a commercial
Trang 12application, you can buy a commercially licensed version from us See the MySQLLicensing Overview for more information
- The MySQL Database Server is very fast, reliable, scalable, and easy to use.
If that is what you are looking for, you should give it a try MySQL Server canrun comfortably on a desktop or laptop, alongside your other applications, webservers, and so on, requiring little or no attention If you dedicate an entire machine toMySQL, you can adjust the settings to take advantage of all the memory, CPU power,and I/O capacity available MySQL can also scale up to clusters of machines,networked together
MySQL Server was originally developed to handle large databases much fasterthan existing solutions and has been successfully used in highly demanding productionenvironments for several years Although under constant development, MySQL Servertoday offers a rich and useful set of functions Its connectivity, speed, and securitymake MySQL Server highly suited for accessing databases on the Internet
- MySQL Server works in client/server or embedded systems
The MySQL Database Software is a client/server system that consists of amulti-threaded SQL server that supports different back ends, several different clientprograms and libraries, administrative tools, and a wide range of applicationprogramming interfaces (APIs)
We also provide MySQL Server as an embedded multi-threaded library that youcan link into your application to get a smaller, faster, easier-to-manage standaloneproduct
A large amount of contributed MySQL software is available
MySQL Server has a practical set of features developed in close cooperationwith our users It is very likely that your favorite application or language supports theMySQL Database Server
The official way to pronounce “MySQL” is “My Ess Que Ell” (not “mysequel”), but we do not mind if you pronounce it as “my sequel” or in some otherlocalized way
History of MySQL
We started out with the intention of using the mSQL database system to connect
to our tables using our own fast low-level (ISAM) routines However, after some
Trang 13testing, we came to the conclusion that mSQL was not fast enough or flexible enoughfor our needs This resulted in a new SQL interface to our database but with almost thesame API interface as mSQL This API was designed to enable third-party code thatwas written for use with mSQL to be ported easily for use with MySQL.
MySQL was created by a Swedish company, MySQL AB, founded by DavidAxmark, Allan Larsson and Michael "Monty" Widenius Original development ofMySQL by Widenius and Axmark began in 1994 The first version of MySQLappeared on 23 May 1995
MySQL is named after co-founder Monty Widenius's daughter, My
The name of the MySQL Dolphin (our logo) is “Sakila,” which was chosenfrom a huge list of names suggested by users in our “Name the Dolphin” contest Thewinning name was submitted by Ambrose Twebaze, an Open Source softwaredeveloper from Swaziland, Africa According to Ambrose, the feminine name Sakilahas its roots in SiSwati, the local language of Swaziland Sakila is also the name of atown in Arusha, Tanzania, near Ambrose's country of origin, Uganda
The Main Features of MySQL
This section describes some of the important characteristics of the MySQLDatabase Software In most respects, the roadmap applies to all versions of MySQL
- Internals and Portability
Written in C and C++
Tested with a broad range of different compilers
Works on many different platforms
For portability, uses CMake in MySQL 5.5 and up Previous series use GNUAutomake, Autoconf, and Libtool
Tested with Purify (a commercial memory leakage detector) as well aswith Valgrind, a GPL tool
Uses multi-layered server design with independent modules
Designed to be fully multi-threaded using kernel threads, to easily usemultiple CPUs if they are available
Provides transactional and nontransactional storage engines
Uses very fast B-tree disk tables (MyISAM) with index compression
Trang 14 Designed to make it relatively easy to add other storage engines This isuseful if you want to provide an SQL interface for an in-house database.
Uses a very fast thread-based memory allocation system
Executes very fast joins using an optimized nested-loop join
Implements in-memory hash tables, which are used as temporary tables
Implements SQL functions using a highly optimized class library that should
be as fast as possible Usually there is no memory allocation at all after queryinitialization
Provides the server as a separate program for use in a client/servernetworked environment, and as a library that can be embedded (linked) into standaloneapplications Such applications can be used in isolation or in environments where nonetwork is available
Fixed-length and variable-length string types
Statements and Functions
Full operator and function support in the SELECT list and WHERE clause
of queries
Full support for SQL GROUP BY and ORDER BY clauses Support forgroup functions (COUNT(), AVG(), STD(), SUM(), MAX(), MIN(), andGROUP_CONCAT()).Support for LEFT OUTER JOIN and RIGHT OUTERJOIN with both standard SQL and ODBC syntax
Support for aliases on tables and columns as required by standard SQL
Support for DELETE, INSERT, REPLACE, and UPDATE to return thenumber of rows that were changed (affected), or to return the number of rows matchedinstead by setting a flag when connecting to the server
Trang 15 Support for MySQL-specific SHOW statements that retrieve informationabout databases, storage engines, tables, and indexes Support for theINFORMATION_SCHEMA database, implemented according to standard SQL.
An EXPLAIN statement to show how the optimizer resolves a query
Independence of function names from table or column names Forexample, ABS is a valid column name The only restriction is that for a function call,
no spaces are permitted between the function name and the “(” that follows it.See Section 9.3, “Keywords and Reserved Words”
You can refer to tables from different databases in the same statement
- Scalability and Limits
Support for large databases We use MySQL Server with databases thatcontain 50 million records We also know of users who use MySQL Server with200,000 tables and about 5,000,000,000 rows
Support for up to 64 indexes per table Each index may consist of 1 to 16columns or parts of columns The maximum index width for InnoDB tables is either
767 bytes or 3072 bytes See Section 14.8.1.7, “Limits on InnoDB Tables” Themaximum index width for MyISAM tables is 1000 bytes See Section 15.2, “TheMyISAM Storage Engine” An index may use a prefix of a columnfor CHAR,VARCHAR, BLOB, or TEXT column types
- Connectivity
Clients can connect to MySQL Server using several protocols
Clients can connect using TCP/IP sockets on any platform
On Windows systems, clients can connect using named pipes if the server isstarted with the enable-named-pipe option Windows servers also support shared-memory connections if started with the shared-memory option Clients can connectthrough shared memory by using the protocol=memory option
Trang 16 On Unix systems, clients can connect using Unix domain socket files.
MySQL client programs can be written in many languages A client librarywritten in C is available for clients written in C or C++, or for any language thatprovides C bindings
APIs for C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, and Tcl areavailable, enabling MySQL clients to be written in many languages.See Chapter 27, Connectors and APIs
The Connector/ODBC (MyODBC) interface provides MySQL support forclient programs that use ODBC (Open Database Connectivity) connections Forexample, you can use MS Access to connect to your MySQL server Clients can be run
on Windows or Unix Connector/ODBC source is available All ODBC 2.5 functionsare supported, as are many others See MySQL Connector/ODBC Developer Guide
The Connector/J interface provides MySQL support for Java clientprograms that use JDBC connections Clients can be run on Windows or Unix.Connector/J source is available See MySQL Connector/J 5.1 Developer Guide
MySQL Connector/Net enables developers to easily create .NETapplications that require secure, high-performance data connectivity with MySQL Itimplements the required ADO.NET interfaces and integrates into ADO.NET awaretools Developers can build applications using their choice of .NET languages.MySQL Connector/Net is a fully managed ADO.NET driver written in 100% pure C#.See MySQL Connector/Net Developer Guide
- Clients and Tools
MySQL includes several client and utility programs These include bothcommand-line programs such as mysqldump and mysqladmin, and graphical programssuch as MySQL Workbench
MySQL Server has built-in support for SQL statements to check, optimize,and repair tables These statements are available from the command line through themysqlcheck client MySQL also includes myisamchk, a very fast command-line utilityfor performing these operations on MyISAM tables
MySQL programs can be invoked with the help or -? option to obtainonline assistance
Trang 173.1.2.2 Introduction to HTML
- HTML is the standard markup language for creating web pages and web
applications With Cascading Style Sheets (CSS) and JavaScript, it forms a triad ofcornerstone technologies for the World Wide Web.Web browsers receive HTMLdocuments from a web server or from local storage and render the documents intomultimedia web pages HTML describes the structure of a web page semantically andoriginally included cues for the appearance of the document
- HTML elements are the building blocks of HTML pages With HTMLconstructs, images and other objects such as interactive forms may be embedded intothe rendered page HTML provides a means to create structured documents bydenoting structural semantics for text such as headings, paragraphs, lists, links, quotes
and other items HTML elements are delineated by tags, written using angle brackets.Tags such as <img /> and <input /> directly introduce content into the page Other tagssuch as <p> </p> surround and provide information about document text and mayinclude other tags as sub-elements Browsers do not display the HTML tags, but usethem to interpret the content of the page
- HTML can embed programs written in a scripting language such
as JavaScript which affects the behavior and content of web pages Inclusion of CSSdefines the look and layout of content
- The World Wide Web Consortium (W3C), maintainer of both the HTMLand the CSS standards, has encouraged the use of CSS over explicit presentationalHTML since 1997
3.1.2.3 Introduction to css
Cascading Style Sheets (CSS) is a style sheet language used for describing
the presentation of a document written in a markup language Although most oftenused to set the visual style of web pages and user interfaces written
in HTML and XHTML, the language can be applied to any XML document,including plain XML, SVG and XUL, and is applicable to rendering in speech, or onother media Along with HTML and JavaScript, CSS is a cornerstone technology used
by most websites to create visually engaging webpages, user interfaces for webapplications, and user interfaces for many mobile applications CSS is designedprimarily to enable the separation of presentation and content, including aspects such