Database Design of Online Education Platform Based on ThinkPHP

: In recent years, internet information technology has developed rapidly, and humanity has entered the information age. The rapid development of technology has led people to gradually pursue higher quality and more diversified education. The online teaching mode of the Internet enables the visualization of teaching resources, making online education further and more convenient. The innovative application of educational technology, represented by MOOCs and WeChat courses, has attracted industry attention, and online teaching and learning have become new trends in current learning.


Introduction
In recent years, internet information technology has developed rapidly, and humanity has entered the information age. The rapid development of technology has led people to gradually pursue higher quality and more diversified education. The online teaching mode of the Internet enables the visualization of teaching resources, making online education further and more convenient. The innovative application of educational technology, represented by MOOCs and WeChat courses, has attracted industry attention, and online teaching and learning have become new trends in current learning. Designing an online education platform that integrates knowledge resources and connects teachers and students online has become a necessary requirement for various universities [1].

Introduction to Database
MySQL is a secure, cross platform, efficient database system that is closely integrated with mainstream programming languages such as PHP and Java. At present, most small and medium-sized websites on the Internet use MySQL as the background database because MySQL has the characteristics of small size, fast speed and low Total cost of ownership. In addition, open source has also made MySQL databases popular among many companies. In addition to the above advantages, MySQL database also has an attractive advantage, which is that it is a completely free product, and users do not have to pay any fees during the process of using MySQL database. Below is a brief introduction to the power of MySQL from 7 aspects.

Powerful storage engine
MySQL supports multiple database storage engines, which can be suitable for different application scenarios. According to actual needs, users can achieve the highest performance by using the most suitable engine to handle high traffic exceeding hundreds of millions.

Multi platform support
MySQL supports at least 20 development platforms, with mainstream ones including Linux, Windows, FreeBSD, IBMAIX, AIX, FreeBSD, etc. This multi platform support feature greatly enhances the portability of programs.

Fast running speed
Fast running speed is a major advantage of MySQL. MySQL uses B-Tree Disk Table (MyISAM) and index compression, while achieving fast connectivity through optimized single scan multiple connections.

High security
MySQL's permissions and password system combine flexibility and security, allowing for host based authentication. At the same time, MySQL will encrypt all passwords during the transmission process according to a certain algorithm to ensure password security.

Low cost
The MySQL database is completely free, and users can download it on the official website and use it as needed.

Support or multiple development languages
MySQL provides support for the current mainstream programming languages and provides them with rich API functions. These languages include PHP, ASP. NET, Java, Python, Ruby, C/C++, Perl, and more.

Large storage capacity
The maximum effective table size of a MySQL database depends on the operating system's restrictions on file size. For example, the InnoDB storage engine saves InnoDB tables in a table space created by several files, with a maximum capacity of 64 TB. Such a large capacity can easily handle tens of millions of records [2].

Requirement Analysis
The online education system needs to provide a comprehensive and easy to operate online education platform for student and teacher users, and provide a management platform with clear functions, clear modules, and convenience for back end administrators.

Front desk functional analysis
The front-end of the system is divided into two roles: tourists and student users. Tourists who are not logged in can register and browse website information; Student users are already logged in users, and they have functions such as browsing website information, purchasing and watching courses.

Background administrator functional analysis
After logging in, the back end administrator manages and maintains various information of the system, including permissions, users, videos, directories, news, announcements, and website information configuration.

Solid Model Analysis
Entity objects in the system are mainly data entities, and the main entity classes in this system are front-end functional modules and back-end management modules. Through the above use case analysis, list all entity classes and their encapsulated information. The system entity class attribute diagram is shown:

Entity Class Design
Transform these database tables into class objects under the ThinkPHP framework for operation in an object-oriented manner. The relationship between the entity classes of this system is shown.  Table Design 1. The administrator account table is shown in Table 1.   Table 3.  Table 4.