I have to compare and contrast MySQL and SQL Server. Could you proof read my work below and offer any additional
pointers on anything else I can add?
A relational database management system is used to create, read, update and delete data within a database environment. There are several systems suited to different developers in order to help meet specific requirements of a project. However. these systems can either be proprietary or open source. The key difference being that proprietary systems are licensed out to a consumer who would have to pay in order to use the system where as open-source systems are free to use and distribute.
Microsoft SQL Server is one example of a popular proprietary database management system developed by Microsoft. MySQL is an example of a similar open source database management system developed by Oracle.
Both these systems offer support for multiple programming languages the sames ones being Java, PHP, C++, Python, Ruby, Visual Basic, Delphi Go and R. However, MySQL supports additional languages such as Perl, Haskell, Scheme and more which makes it far more appealing to certain developer communities.
Similarly, the same way MySQL's support of additional programming languages is considered more appealing to certain audiences, supported platforms is another stronger aspect of the open source MySQL system. SQL Server being a system developed by Microsoft, it was originally exclusively for Windows operating system and although recently it was made available on both Linux and Mac OS, it does still not allow the user to take full advantage of certain features when running the SQL Server system on these newly supported operating systems.
Being both widely used enterprise database systems, both systems allow the option to choose from multiple editions. MySQL being an open source and therefore free to use system, it only provides two distinct versions of MySQL, these being either the community or enterprise edition. The main difference between these two is the enterprise edition provides a number of proprietary extensions to enhance the existing functionality of the system. Microsoft SQL Server on the other hand being a proprietary system, provides a larger selection of specialised editions that can be licensed to the consumer. These editions take into consideration the users' needs and budget for the project.
In terms of actual use, the two systems functionality differs in several areas, the main being in how they go about filtering, backups and stopping query executions.
By filtering, we refer to refining data within the database through use of queries. MySQL allows users to filter out tables, rows and users in many ways. However, this must be done through individual databases. This means while filtering data across multiple database tables, multiple queries must be run. Alternatively, SQL Server handles filtering by making use of row-based filtering. Unlike the MySQL filtering, this option filters data on a database by database way and stores the filtered data in a separate database. This then makes SQL Server filtering a far easier option for programmers when filtering multiple rows without having to consider the number of databases involved.
Backup of data is a significant part of the developers use of the system. In MySQL, developers back up data by extracting all data as SQL statements. The tool provided by MySQL however blocks the database while backing up data. The feature does indeed reduce the chance of data corruption while switching from different versions of MySQL however it also makes data restoration a far more time-consuming process due to having to execute multiple SQL statements. SQL Server is better in this sense as it does not block the database whilst backing up data and the feature enables huge amounts of data restorations without any extra time and effort having to be put in by the developer.
In certain cases, it is possible the developer would want to stop a query during execution. This is a problem in MySQL as it does not allow users to cancel a query whilst it is running. The user would have to alternatively kill the entire process to stop SQL query execution. SQL Server is superior in this sense as you can simply truncate a database query during execution without killing the whole process.
Another key strength in SQL Server over MySQL is the security within the system. MySQL enables developers to manipulate database files so that they can be accessed and manipulated by other processes at runtime. This is not the case however for SQL Server which does not allow data manipulation directly making it far more secure than MySQL.
Overall, both relational database management systems discussed are very strong systems and ultimately which system is used is dependent on the users' requirements and preference within the project. MySQL is often the more popular choice for small to medium applications due to the fact that it is the free option between the two and offers support in a larger range of programming languages and platforms. On the other hand, if the focus is less on running the system on specific platforms but geared more to building enterprise applications on a large scale then SQL Server tends to be a better option due to its improved security, multi-lingual support and just generally more convenient system.
Recently Asked Questions
- how to write a SELECT statement without a FROM clause that uses the NOW function to create one row with these columns: today_unformatted//The NOW function
- What kind of data do I need for the attached database system (attributes), and the data types of the attributes?
- Given below table : Student(StuID, StuName) Module(ModName, ModID) Marks(ModID, StuID, Year, Coursework1, Coursework2, Coursework3, Coursework4, Exam1, Exam2,